读取简单的JSON对象返回undefined

时间:2017-10-19 20:21:09

标签: jquery json object

我有一个看起来像这样的JSON对象。

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

我正在使用Jquery尝试阅读我的对象,但似乎我在某种程度上做错了。

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

有关如何通过JQuery阅读此内容的任何建议都将非常感谢

请注意我的ajax调用中的数据类型是JSON。提前谢谢。

3 个答案:

答案 0 :(得分:2)

这是无效的json "[{\"fistname\":\"Nick\"}],[{\"lastname\":\"test\"}]"

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

chack 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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你的json有firstName的fistName。将其更改为firstName应该修复它。

答案 2 :(得分:0)

这就是你用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);