无法阅读简单的JSON

时间:2016-10-20 06:41:57

标签: jquery

我有一个简单的JSON,如下所示

{
    "result": "success"
}

我正在尝试读取名为result

的键

我试过这种方式

var json  = {"result":"success"}
    var ajaxres = JSON.parse(json);
console.log(ajaxres.resut);
console.log(json.resut);

但是我得到了未定义的

http://jsfiddle.net/cod7ceho/187/

6 个答案:

答案 0 :(得分:1)

这是因为json变量包含一个json对象而不是一个json字符串。当你把它改成字符串时,一切都按预期工作。

var jsonStr = '{"result": "success"}';
var ajaxres = JSON.parse(jsonStr);
console.log(ajaxres.result);

var json = {
  "result": "success"
}
console.log(json.result);
<div></div>

答案 1 :(得分:0)

那是因为你试图解析一个JavaScript对象,而不是一个字符串。你应该这样做:

var json = '{"result":"success"}';
var ajaxres = JSON.parse(json);
console.log(ajaxres.result);

OR

var json = {"result":"success"};
console.log(json.result); // json["result"] will give you the same result.

答案 2 :(得分:0)

您不需要使用JSON.parse再次解析Javascript对象。

如果您只有JSON字符串,请使用JSON.parse(),如下所示

JSON.parse('{"result":"success"}')

答案 3 :(得分:0)

如果您希望变量json包含JSON字符串,则必须执行

var json  = '{"result":"success"}'
var ajaxres = JSON.parse(json);
console.log(ajaxres.result)

我也修正了你的拼写错误:结果而不是resut。

答案 4 :(得分:0)

JSON.parse()将传递给函数的任何JSON字符串转换为JSON对象。

var response = '{"result":"success"}'; //sample json object(string form)
JSON.parse(response); //converts passed string to JSON Object.

但是你的JSON响应已经被解析了。因此,使用DOT(.)访问您的key-value

<强>参考

答案 5 :(得分:0)

首先,您需要将json存储为字符串。然后该字符串应转换为javascript对象。然后应该打印出来。

var json  = '{"result":"success"}';
var ajaxres = jQuery.parseJSON(json);
console.log(ajaxres.result);