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
    }
  ]
]

この JSON データを JavaScript で解析しようとしていますが、「SyntaxError: JSON.parse:予期しない文字」というエラーが発生します。この json データを解析またはアクセスする方法と、JSON データに保存されているレコード数を取得する方法を教えてください。

私はこれをFirefoxで実行しています..この問題を解決するのを手伝ってください.よろしくお願いします

4

2 に答える 2

2

msg 変数が既に Javascript オブジェクト リテラルである場合は、次のようにプロパティに直接アクセスできます: msg[0][0].Id

文字列の場合は、JSON.parse() 関数を使用して JS オブジェクトを取得できます: JavaScript で JSON を解析しますか?

フィドル: 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 に答える