Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我不能在JSON中推送对象,但console.log()可以工作_Javascript_Json - Fatal编程技术网

Javascript 我不能在JSON中推送对象,但console.log()可以工作

Javascript 我不能在JSON中推送对象,但console.log()可以工作,javascript,json,Javascript,Json,我无法在JSON中推送对象,但console.log()可以工作。log()显示添加了一个对象,但没有显示json字符串 var结果=[{ “id”:0, “名称”:“绿色”, “类别”:“项目”, “年份”:2008年, “描述”:“我的描述”, “评论”:[{ “评级”:5, “评论”:“完美”, “作者”:“桑德拉”, “日期”:“2012-10-16T17:57:28.556094Z” }, { “评级”:4, “评论”:“酷”, “作者”:“米勒娜”, “日期”:“2014-09-0

我无法在JSON中推送对象,但console.log()可以工作。log()显示添加了一个对象,但没有显示json字符串

var结果=[{
“id”:0,
“名称”:“绿色”,
“类别”:“项目”,
“年份”:2008年,
“描述”:“我的描述”,
“评论”:[{
“评级”:5,
“评论”:“完美”,
“作者”:“桑德拉”,
“日期”:“2012-10-16T17:57:28.556094Z”
}, {
“评级”:4,
“评论”:“酷”,
“作者”:“米勒娜”,
“日期”:“2014-09-05T17:57:28.556094Z”
}, {
“评级”:3,
“评论”:“不错”,
“作者”:“米兰”,
“日期”:“2015-02-13T17:57:28.556094Z”
}, {
“评级”:4,
“评论”:“干得好”,
“作者”:“托马斯”,
“日期”:“2013-12-02T17:57:28.556094Z”
}, {
“评级”:2,
“评论”:“确定”,
“作者”:“Aleksandar”,
“日期”:“2011-12-02T17:57:28.556094Z”
}]
}];
document.getElementById('show')。innerHTML=results[0]。注释[1]。作者;
document.getElementById(“sendComment”).onclick=function(){
var hg={
“评级”:1,
“评论”:“你好”,
“作者”:“X”,
“日期”:“2014-09”
}
结果[0].comments.push(hg);
console.log(结果[0]。注释);
}


发送结果[0]。注释是对象数组,而不是JSON字符串。一切正常。新对象被添加到数组中。

首先,您没有JSON,只有一个对象,其次,如果您可以在控制台中看到它,它可能会按预期工作,它不会更新您的文件并在源代码中可见?工作正常。。。。。那么什么是不起作用的呢。更新JSON时,它不会更新JSON文件。它只是在内存中更新它…在刷新后,在这里尝试所有相同的方法在数组中保存对象?因为这不是永久性的更改。不能使用客户端JavaScript进行永久性更改。如果希望所有用户都能看到它,则需要一个服务器端代码。如果只有用户在使用该浏览器,那么您就拥有localStorage。为什么?若下次单击按钮,您将看到添加了另一个相同的对象。若要在页面刷新后保留客户端上的数据,请使用例如JSON.stringify(结果[0].comments)和localstorage