Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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数组的对象,添加项_Javascript_Arrays_Json_Node.js - Fatal编程技术网

Javascript 类似JSON数组的对象,添加项

Javascript 类似JSON数组的对象,添加项,javascript,arrays,json,node.js,Javascript,Arrays,Json,Node.js,我有一个JSON文件,其中包含: [{"id":1,"first_name":"Judith","email":"jshaw0@wikipedia.org"}, {"id":2,"first_name":"Sarah","email":"sross1@infoseek.co.jp"}, {"id":3,"first_name":"Dorothy","email":"dgreene2@posterous.com"}, {"id":4,"first_name":"Christine","email"

我有一个JSON文件,其中包含:

[{"id":1,"first_name":"Judith","email":"jshaw0@wikipedia.org"},
{"id":2,"first_name":"Sarah","email":"sross1@infoseek.co.jp"},
{"id":3,"first_name":"Dorothy","email":"dgreene2@posterous.com"},
{"id":4,"first_name":"Christine","email":"cnichols3@techcrunch.com"},
{"id":5,"first_name":"Theresa","email":"trogers4@xrea.com"},
{"id":6,"first_name":"Rebecca","email":"rpeterson5@mlb.com"},
{"id":7,"first_name":"Chris","email":"cbailey6@yellowpages.com"},
{"id":8,"first_name":"Howard","email":"hbailey7@miibeian.gov.cn"},
{"id":9,"first_name":"Sara","email":"ssimpson8@techcrunch.com"},
{"id":10,"first_name":"Lois","email":"lmartinez9@dion.ne.jp"},
{"id":11,"first_name":"Jeffrey","email":"jhalla@intel.com"},
{"id":12,"first_name":"Teresa","email":"tcampbellb@usnews.com"},
{"id":13,"first_name":"Susan","email":"skingc@wired.com"},
{"id":14,"first_name":"Richard","email":"rpattersond@omniture.com"},
{"id":15,"first_name":"Ronald","email":"rgreenee@wordpress.org"}]
我想再添加一个元素,但我不知道如何添加。 我有以下节点代码:

var jsonfile = require('jsonfile');
var util = require('util');

var file = 'data.json';
var jsonObj = {};
jsonfile.readFile(file, function(err, obj) {
    jsonObj = obj;

    new_obj = {"id":16,"first_name":"Florin","email":"popflorin1705@yahoo.com"};
    //jsonObj.push(new_obj)
    console.log(typeof jsonObj);

    /*jsonfile.writeFile(file, jsonObj, function (err) {
      console.error(err)
    })*/
});

我尝试过使用push方法,但显然不起作用,因为它是一个对象而不是数组,即使它看起来是数组。在对象的末尾添加另一行(或数组-我很困惑)哪种方法是一种好方法?

我相信您忘记了解析JSON。读取文件后,您的代码应为:

jsonObj = JSON.parse(obj);

而不是直接赋值。

我相信您忘记了解析JSON。读取文件后,您的代码应为:

jsonObj = JSON.parse(obj);
而不是直接赋值。

声明变量

 var new_obj = {"id":16,"first_name":"Florin","email":"popflorin1705@yahoo.com"};
然后像前面一样使用
push()
。试试看。只有当
obj
是您前面提到的json对象时,它才会工作

声明变量

 var new_obj = {"id":16,"first_name":"Florin","email":"popflorin1705@yahoo.com"};

然后像前面一样使用
push()
。试试看。只有当
obj
是您前面提到的json对象时,它才会工作

可能重复未定义的可能重复:1[对象对象],[对象对象对象],[对象对象对象],[对象对象对象],[对象对象对象^SyntaxError:object.parse处的意外标记o(本机)at/home/florin17/Desktop/Work/Express/server/app.js:10:20 at/home/florin17/Desktop/Work/Express/server/node_modules/jsonfile/index.js:20:5 at fs.js:268:14 at Object.oncomplete(fs.js:107:15)未定义:1[对象对象对象对象],[对象对象对象],[对象对象对象],[object object^SyntaxError:object.parse(native)at/home/florin17/Desktop/Work/Express/server/app.js:10:20 at/home/florin17/Desktop/Work/Express/server/node_modules/jsonfile/index.js:20:5 at fs.js:268:14 at object.oncomplete(fs.js:107:15)