为什么我不能在 <li> 标签中写入对象
Why I Can't Write Objects in <li> Tag
当我将 JSON 数据写入
HTML 标记时,它正在写入但不写入对象。是写 [object Object]:
○Data1 ○wash dishes ○[object Object]
○find some break ○[object Object]
我正在尝试使用指向 JSON 数据库的
列表,但它看起来像那样。我用那个代码给我的 JSON 打电话:
var db_note = objpick(data);
db_note.date.forEach(function(element) {
tabledatednote.insertAdjacentHTML( 'beforeend',"<li>" + element + " </li>");
/* I just writed to this part because is just changing "no_date.>date<" part while displaying other JSONs */
});
objpick.js is an external file
function objpick(data){
for(i in data){ var result = data[i] }
return result
};
and there is my JSON database
{
"nodate": ["wash dishes", "find some bread"],
"date": [{"01/01/2077" : "Cyberpunk Meet"}, {"25/05/2005" : "Buney?"}],
"bookmark" : ["Data1"]
}
最终显示的是一个字符串。因此代码将您想要显示的任何内容转换为字符串。对于简单值,这种转换很容易。单个值的结果字符串是一致且明显的。
但是对象不是简单的值。它们可能很复杂。除非在您的对象上另有定义,否则对象的 default 字符串表示形式为:[object Object]
您显示的某些内容是值:
"find some bread"
但其中一些是对象:
{"25/05/2005" : "Buney?"}
对于对象,您需要告诉代码如何显示它。我能想到的一些选项是:
- 手动。例如,检查对象上是否存在某个 属性,如果存在,则显示 属性 的值。
- JSON-encode 对象并显示结果 JSON 字符串。
- Override
.toString()
在您的对象上。
您选择哪个取决于您,出于与您看到当前默认行为相同的原因...因为只有您知道如何 want/expect 要显示的对象。
当我将 JSON 数据写入
○Data1 ○wash dishes ○[object Object]
○find some break ○[object Object]
我正在尝试使用指向 JSON 数据库的
var db_note = objpick(data);
db_note.date.forEach(function(element) {
tabledatednote.insertAdjacentHTML( 'beforeend',"<li>" + element + " </li>");
/* I just writed to this part because is just changing "no_date.>date<" part while displaying other JSONs */
});
objpick.js is an external file
function objpick(data){
for(i in data){ var result = data[i] }
return result
};
and there is my JSON database
{
"nodate": ["wash dishes", "find some bread"],
"date": [{"01/01/2077" : "Cyberpunk Meet"}, {"25/05/2005" : "Buney?"}],
"bookmark" : ["Data1"]
}
最终显示的是一个字符串。因此代码将您想要显示的任何内容转换为字符串。对于简单值,这种转换很容易。单个值的结果字符串是一致且明显的。
但是对象不是简单的值。它们可能很复杂。除非在您的对象上另有定义,否则对象的 default 字符串表示形式为:[object Object]
您显示的某些内容是值:
"find some bread"
但其中一些是对象:
{"25/05/2005" : "Buney?"}
对于对象,您需要告诉代码如何显示它。我能想到的一些选项是:
- 手动。例如,检查对象上是否存在某个 属性,如果存在,则显示 属性 的值。
- JSON-encode 对象并显示结果 JSON 字符串。
- Override
.toString()
在您的对象上。
您选择哪个取决于您,出于与您看到当前默认行为相同的原因...因为只有您知道如何 want/expect 要显示的对象。