0
[
  [
    {
      "Id": 1234,
      "PersonId": 1,
      "Message": "hiii",
      "Image": "5_201309091104109.jpg",
      "Likes": 7,
      "Status": 1,
      "OtherId": 3,
      "Friends": 0
    }
  ],
  [
    {
      "Id": 201309091100159,
      "PersonId": 1,
      "Message": "heyyyyyyyy",
      "Image": "",
      "Likes": 2,
      "Status": 1,
      "OtherId": 3,
      "Friends": 3
    }
  ]
]

我正在尝试在 javascript 中解析这个 JSON 数据,但是它给出了一个错误“SyntaxError: JSON.parse: unexpected character”告诉我如何解析或访问这个 json 数据以及如何获取保存在 JSON 数据中的记录数。

我在 Firefox 上运行它。请帮我解决这个问题。在此先感谢

4

2 回答 2

2

如果您的 msg 变量已经是 Javascript 对象文字,您可以像您说的那样直接访问其中的属性: msg[0][0].Id

如果是字符串,可以使用 JSON.parse() 函数获取 JS 对象: Parse JSON in JavaScript?

小提琴:http: //jsfiddle.net/nilgundag/EdWKv/1/

var msg1 = [
  [
    {
      "Id": 1234,
      "PersonId": 1,
      "Message": "hiii",
      "Image": "5_201309091104109.jpg",
      "Likes": 7,
      "Status": 1,
      "OtherId": 3,
      "Friends": 0
    }
  ],
  [
    {
      "Id": 201309091100159,
      "PersonId": 1,
      "Message": "heyyyyyyyy",
      "Image": "",
      "Likes": 2,
      "Status": 1,
      "OtherId": 3,
      "Friends": 3
    }
  ]
];
$("#first").text(msg1[0][0].Id);

var myJSONString = '[[{"Id": 1234,"PersonId": 1,"Message": "hiii","Image": "5_201309091104109.jpg","Likes": 7,  "Status": 1,     "OtherId": 3,      "Friends": 0    }  ],  [    {      "Id": 201309091100159,      "PersonId": 1,      "Message": "heyyyyyyyy",      "Image": "",      "Likes": 2,      "Status": 1,      "OtherId": 3,      "Friends": 3    }  ]]';
var msg2 = JSON.parse(myJSONString);
$("#second").text(msg2[0][0].Id);
于 2013-09-19T10:04:31.837 回答
0

我认为 json str 是有效的。但是当该字符串不在 JS 环境中时..那格式是无效的。

于 2013-09-19T09:53:06.520 回答