阅读简单的JSON对象返回undefined

问题描述:

我有一个JSON对象,看起来像这样。阅读简单的JSON对象返回undefined

{ 
    "Manager": "[{\"firstname\":\"Kris\"}],[{\"lastname\":\"test\"}]", 
    "Employee": "[{\"firstname\":\"Nick\"}],[{\"lastname\":\"test\"}]" 
    } 

我正在使用Jquery尝试读取我的对象,但似乎我在某种程度上犯了一个错误。

JSON.stringify(data[0].Manager.firstname) //returns undefined. 

如何通过JQuery阅读任何建议将非常感激

请注意我的数据类型是JSON在我的AJAX调用。提前致谢。

+0

是吧'name'或'firstname'? –

+0

对不起,它的名。我编辑了我的问题。 – Kristo

+0

使用'''而不是'\“' –

你的JSON有fistName为您的名字。将它更改为firstName应该可以解决它。

这就是你如何用js来做json。

var data = [{ 
 
    "Manager": { 
 
     "firstname": "Kris", 
 
     "lastname": "test" 
 
    }, 
 
    "Employee": { 
 
     "firstname": "Nick", 
 
     "lastname": "test" 
 
    } 
 
    }, 
 
    { 
 
    "Manager": { 
 
     "firstname": "Kris2222", 
 
     "lastname": "test222" 
 
    }, 
 
    "Employee": { 
 
     "firstname": "Nick222", 
 
     "lastname": "test2222" 
 
    } 
 
    } 
 
]; 
 

 

 

 
console.log(data[0].Manager.firstname); 
 
console.log(data[1].Manager.firstname);

+0

谢谢丹尼尔。我想我需要找出为什么我的JSON对象混乱了。我会让你知道的。 – Kristo

+0

我知道这是一个有效的JSON对象的正确方法,但似乎有一个阅读Farhad答案的对象。我会明天尝试一下,然后我会想出一个编辑。 – Kristo

这不是有效的JSON "[{\"fistname\":\"Nick\"}],[{\"lastname\":\"test\"}]"

是有效的JSON "[{\"fistname\":\"Nick\"},{\"lastname\":\"test\"}]"

焯芬json online

var obj= {"Manager": "[{\"fistname\":\"Kris\"},{\"lastname\":\"test\"}]","Employee": "[{\"fistname\":\"Nick\"},{\"lastname\":\"test\"}]"}; 
 
    $.each(obj,function(key,value){ 
 
    if(key=='Manager'){ 
 
     var elem=$.parseJSON(value); 
 
     $.each(elem,function(key,value){ 
 
     if(!(typeof value.fistname === "undefined")) 
 
      console.log(value.fistname); 
 
     }); 
 
    } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>