1

JSON オブジェクトへのアクセスで問題に直面しています: 受信している JSON オブジェクトは:

{"71":"Heart XXX","76":"No Heart YYYY"}

71と72の値を別々に取得して使ってみた...

しかし、次のようにコンパイル時の問題が発生しています: トークン「.71」の構文エラー、このトークンを削除してください

コード:

var map=$("#jsonText").val();
    alert(map);
    var  obj=jQuery.parseJSON(map);
    alert("JSON ::"+obj.71);

obj を印刷している場合、表示できます[Object Object]

私がした間違いを見つけるのを手伝ってください..上記の質問がSOの多くのスレッドで尋ねられていることを知っています。以下は、私が見つけたいくつかのスレッドですが、実装しようとしたときに失敗しました..

jquery json 解析

で与えられたJqueryチュートリアルも使用してみました

JQueryJSON

キーが文字列の場合は正常に機能しますが、数値の場合は上記のエラーが発生します...

4

4 に答える 4

4

これを試して:

alert("JSON ::" + obj[71]);

「71」は有効なプロパティ識別子ではありません。識別子は、文字、アンダースコア、またはドル記号で始まる必要があります。代わりに角括弧を使用すると、この問題を回避できます。

: 角かっこで囲まれたものはすべて文字列に変換されます。関数、DOM 要素、または正規表現でさえ、それらはすべてtoStringメソッドまたはスーパークラスで変換されますtoString

に変換71され"71"ます。もう少しパフォーマンスが必要な場合は、後者を直接使用できます。必要がない場合は、 だけでいくつかのキープレスをカットできます71

于 2012-09-07T09:34:14.563 に答える
4

代わりに使用

alert("JSON ::"+obj["71"]);
于 2012-09-07T09:34:40.477 に答える
0

ルールに従って、またはjavascript数字identifierで始めるべきではないため、数字で始まる場合、またはそのためにスペースやその他の特殊文字が含まれている場合は、[]演算子ではなく演算子を.使用してアクセスする必要がある
ためobj.71、無効ですがobj["71"]

于 2012-09-07T09:36:30.227 に答える
0

このサイトを使ってみてください:

http://json.parser.online.fr/

于 2012-09-07T10:54:12.363 に答える