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 nodejson.parse数组_Javascript_Json_Node.js - Fatal编程技术网

Javascript nodejson.parse数组

Javascript nodejson.parse数组,javascript,json,node.js,Javascript,Json,Node.js,我正在学习udemy课程,我真的很困惑notes=JSON.parse(notesString)是一个数组,而它应该是一个对象(对吗?),因为JSON.parse将它变成了一个对象 var addNote = (title, body) => { var notes = []; // Create empty array var note = { // Fetch user input title, body }; try { var notesSt

我正在学习udemy课程,我真的很困惑
notes=JSON.parse(notesString)
是一个数组,而它应该是一个对象(对吗?),因为JSON.parse将它变成了一个对象

var addNote = (title, body) => {
  var notes = []; // Create empty array
  var note = { // Fetch user input
    title,
    body
  };
  try {
    var notesString = fs.readFileSync("notes-data.json"); //  Get current notes
    notes = JSON.parse(notesString); // convert current notes into object
    console.log("try:", notes.constructor)
  }catch(e){

  }
  console.log(notes)
  notes.push(note);
  fs.writeFileSync("notes-data.json", JSON.stringify(notes));
};

如果文件notes-data.JSON中的JSON包含JSON数组,例如

[{"one":1}, {"two":2}]
var data = "[{"one":1}, {"two":2}]";
var result = JSON.parse(data);
console.log(result)

您将从JSON.parse方法获得数组。

如果notes-data.JSON文件中的JSON包含JSON数组,例如

[{"one":1}, {"two":2}]
var data = "[{"one":1}, {"two":2}]";
var result = JSON.parse(data);
console.log(result)

您将从JSON.parse方法获得数组。

JSON.parse()是必需的,因为fs操作的输出是一个字符串,我们需要将其转换为对象才能正确访问它。其中的数据是一个JSON数组,因此我们可以读取它。在JSON.parse周围添加try catch,因为如果数据不是JSON类型,则会导致错误。

JSON.parse()是必需的,因为fs操作的输出是一个字符串,我们需要将其转换为对象才能正确访问它。其中的数据是一个JSON数组,因此我们可以读取它。在JSON.parse周围添加try-catch,因为如果数据不是JSON类型,则会导致错误。

如果文件notes-data.JSON中的JSON包含JSON数组,例如

[{"one":1}, {"two":2}]
var data = "[{"one":1}, {"two":2}]";
var result = JSON.parse(data);
console.log(result)

如果文件notes-data.JSON中的JSON包含JSON数组,例如

[{"one":1}, {"two":2}]
var data = "[{"one":1}, {"two":2}]";
var result = JSON.parse(data);
console.log(result)

从这段代码看,它就像一个数组。您自己评论说这是一个数组:
var notes=[];//创建空数组
“因为JSON.parse使它成为一个对象”——它不是
JSON.parse
返回与最初相同类型的值。虽然从技术上讲,数组是javascript.JSON.parse中的对象,但只需将JSON字符串解析为JSON即可。它可以是一个对象数组,也可以是一个简单的对象。您自己评论说这是一个数组:
var notes=[];//创建空数组
“因为JSON.parse使它成为一个对象”——它不是
JSON.parse
返回与最初相同类型的值。虽然从技术上讲,数组是javascript.JSON.parse中的对象,但只需将JSON字符串解析为JSON即可。它可以是对象数组或简单对象。这是正确的答案。要记住的关键一点是,您正在执行的fs操作返回一个//字符串//,而不是一个对象(或数组)。谢谢您,现在它有意义了。这是正确的答案。要记住的关键一点是,您正在执行的fs操作返回的是//字符串//,而不是对象(或数组)。谢谢,现在这很有意义。请添加一些解释编辑您的答案,避免只使用代码的答案请添加一些解释编辑您的答案,避免只使用代码的答案