2016-10-20 3 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

Это потому, что переменная 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>

0

Это потому, что вы пытаетесь проанализировать объект JavaScript, а не строку. Вы должны либо сделать:

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

ИЛИ

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) 

Я также неподвижную ваша опечатка: результат вместо resut.

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

Ссылка

0

Прежде всего, необходимо хранить JSON в виде строки. Затем эта строка должна быть преобразована в объект javascript. Затем он должен быть напечатан.

var json = '{"result":"success"}'; 
var ajaxres = jQuery.parseJSON(json); 
console.log(ajaxres.result); 
Смежные вопросы