【发布时间】:2014-06-04 20:38:30
【问题描述】:
我正在尝试在我的 JSON 对象中显示嵌套项。现在它们的值是[object Object]。我正在使用 $.each 循环,但它似乎没有获取嵌套项的值。我究竟做错了什么?
JSON
{
"AssetGUID":"00000000-0000-0000-0000-000000000000",
"AwayForRepair":false,
"BooleanDataItems":[
{
"Column":null,
"DisplayValue":null,
"TableName":null,
"Value":false
}
],
"ConditionID":0,
"DecimalDataItems":[
{
"Column":null,
"DisplayValue":null,
"TableName":null,
"Value":0
}
],
"DeviceName":null,
"Faulty":false,
"ForDisposal":false,
"ImageDataItems":[
{
"Column":null,
"DisplayValue":null,
"TableName":null,
"Value":null
}
],
"InspectionDate":"\/Date(-62135596800000+0000)\/",
"InspectionPassed":false,
"InspectionType":0,
"IntegerDataItems":[
{
"Column":null,
"DisplayValue":null,
"TableName":null,
"Value":0
}
],
"LocationGUID":"00000000-0000-0000-0000-000000000000",
"StringDataItems":[
{
"Column":null,
"DisplayValue":null,
"TableName":null,
"Value":null
}
],
"TagTypeID":0,
"TransactionGUID":null,
"UserID":0
}
jQuery
var content = '';
$.each(data, function(i, post) {
content += '<li>' + i + " : " + post + '</li>';
});
$("#addJSON").html(content);
输出
AssetGUID : 00000000-0000-0000-0000-000000000000
AwayForRepair : false
BooleanDataItems : [object Object]
ConditionID : 0
DecimalDataItems : [object Object]
DeviceName : null
Faulty : false
ForDisposal : false
ImageDataItems : [object Object]
InspectionDate : /Date(-62135596800000+0000)/
InspectionPassed : false
InspectionType : 0
IntegerDataItems : [object Object]
LocationGUID : 00000000-0000-0000-0000-000000000000
StringDataItems : [object Object]
TagTypeID : 0
TransactionGUID : null
UserID : 0
【问题讨论】:
-
这可能对您有所帮助。 stackoverflow.com/questions/8553539/…
-
each()正在做它应该做的事情。它遍历data对象中的每个键/值对 - 它确实 not 然后深入到任何本身就是对象的值中。例如,请参阅this question 了解更多信息。