Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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_Json - Fatal编程技术网

Javascript 从json“获取值”;“未定义”;我怎么了?

Javascript 从json“获取值”;“未定义”;我怎么了?,javascript,json,Javascript,Json,我有这个字符串: [ {"id":"001", "name":"Charlie"}, {"id":"002", "name":"Ellie"}, ] 我将这个字符串保存在一个变量中并解析它: function parseJSON(string){ var mylovelyJSON = JSON.stringify(string); alert(mylovelyJSON[id]); } 当我发出警报时,我得到和“未定义”,我还尝试了“mylovelyJSON.i

我有这个字符串:

[
 {"id":"001",
  "name":"Charlie"},
  {"id":"002",
  "name":"Ellie"},
]
我将这个字符串保存在一个变量中并解析它:

function parseJSON(string){
   var mylovelyJSON = JSON.stringify(string); 
   alert(mylovelyJSON[id]); 
} 
当我发出警报时,我得到和“未定义”,我还尝试了“mylovelyJSON.id”,我得到了相同的结果


不能是Json吗?我从php数组中获取这个字符串

这里有两件事不对

  • 数组以逗号结尾,逗号无效
  • 您正在将一个字符串转换为javascript,而stringify做的恰恰相反
  • 所以类似的方法可能会奏效:

    var id = 0;
    
    function parseJSON(string){
        var mylovelyJSON = JSON.parse(string); 
        alert(mylovelyJSON[id]); 
    }
    

    注意我假设
    id
    是一个全局变量…

    这里有很多错误

    您的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_文本);
    函数parseJSON(字符串){
    var result_of_parsing_json=json.parse(字符串);
    document.body.appendChild(
    document.createTextNode(解析json[0][“id”]的结果)
    );
    
    }
    解析错误,应该是
    JSON.parse(string)
    使用json.parse我得到“object object”,[object object]“我没有得到我id的值。你是想通过“001”或数组的索引来引用它吗?你在做一个字符串,而不是一个对象
    stringify
    正在获取一个对象并生成一个字符串。若它正在生成一个对象,对象,那个么你们已经有了一个对象,不需要解析它。我想这真的是一个问题的答案。此外,更多的人可以在回答查询时使用这种变量命名方法,而不是使用bar/foo或a,x。干得好。我没有看到这样的答案。有据可查。逐步解决。非常感谢。