从json"undefined"获取价值我错了什么?

Leo*_*ani 1 javascript json

我有这个字符串:

[
 {"id":"001",
  "name":"Charlie"},
  {"id":"002",
  "name":"Ellie"},
]
Run Code Online (Sandbox Code Playgroud)

他们,我将这个字符串保存在变量中并解析它:

function parseJSON(string){
   var mylovelyJSON = JSON.stringify(string); 
   alert(mylovelyJSON[id]); 
} 
Run Code Online (Sandbox Code Playgroud)

当我发出警报时,我得到并且"未定义",我也尝试了"mylovelyJSON.id",我也得到了同样的结果.

不能成为Json?我从php数组中获取此字符串.

Que*_*tin 18

这里有很多不妥之处

您的JSON无效

,需要删除数组末尾之前的额外内容

你需要解析

JSON.stringify 将JavaScript数据结构转换为JSON字符串.

你需要走另一条路并使用JSON.parse.

方括号表示法采用字符串

mylovelyJSON[id]取值id(未声明,因此,在这种情况下,会抛出引用错误)并获取名称与该值相同的属性.

你需要mylovelyJSON["id"]或者mylovelyJSON.id

你有一个阵列

您的JSON由一组对象组成,而不是一个对象.

您需要先从数组中获取一个对象,然后才能访问它上的属性.

mylovelyJSON[0]["id"]


var json_text = '[{"id":"001","name":"Charlie"},{"id":"002","name":"Ellie"}]';

parseJSON(json_text);

function parseJSON(string){
   var result_of_parsing_json = JSON.parse(string);
   document.body.appendChild(
     document.createTextNode(result_of_parsing_json[0]["id"])
   );
} 
Run Code Online (Sandbox Code Playgroud)