2016-10-20 75 views
0

我有一個簡單的JSON如下圖所示無法讀取一個簡單的JSON

{ 
    "result": "success" 
} 

我想讀命名的關鍵結果

我已經嘗試過這種方式

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

但我越來越undefined

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

+0

ajaxres.resut?應該是ajaxres.result –

回答

1

那。當您將其更改爲字符串時,一切都按預期工作。

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

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

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. 
0

你不需要再次解析Javascript對象使用JSON.parse。

如果你有一個JSON字符串,然後才用JSON.parse(),像下面

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

如果你想該變量json舉行JSON字符串,你所要做的

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

我也固定你的錯字:結果,而不是結果。

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(.)因爲JSON變量包含JSON對象,而不是一個JSON字符串來訪問您key-value

參考

0

首先,你需要JSON存儲爲一個字符串。然後,該字符串應轉換爲JavaScript對象。然後它應該被打印。

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