我有一个简单的JSON,如下所示
{
"result": "success"
}
我正在尝试读取名为result
的键我试过这种方式
var json = {"result":"success"}
var ajaxres = JSON.parse(json);
console.log(ajaxres.resut);
console.log(json.resut);
但是我得到了未定义的
答案 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);