我在JavaScript中有这段代码
lastUpdated: 1492665454,
items:
[
$.each(objectStory, function(key, value) {
//key + ": " + value ;
//console.log(value)
console.log(JSON.stringify(value));
//document.write(sitem);
return JSON.stringify(value);
}),
]
}]
console.log按我的意愿打印对象,但返回功能不起作用。数据来自使用ajax调用的json文件。 这是consolg日志的回归
{"id":"87","type":"image","src":"url/IMG_2363.MOV"}
任何帮助将不胜感激
答案 0 :(得分:2)
$.each
返回被调用的对象(用于与其他方法链接),而不是您希望的字符串。当你需要结果时,你应该使用map
`。请看一下显示差异的片段:
var objectStory = {
k1: 1,
k2: 2,
k3: 3
}
var eachResult = $.each(objectStory, function(key, value) {
return JSON.stringify(value);
});
var mapResult = $.map(objectStory, function(value) {
return JSON.stringify(value);
});
console.log(eachResult);
console.log(mapResult);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
在您的代码中,您应该以这种方式为键items
指定值:
var obj = {
// other fields
items: $.map(objectStory, function(value) {
return JSON.stringify(value);
})
};
否则,您的items
键下会嵌套数组。