1

JSON の使い方を学び始めたばかりですが、これはおそらく初歩的な質問です: なぜ JSON を解析する必要があるのですか?

私はphp配列から来るJSONオブジェクトを持っています(私はそれを使用しましたjson_encode)。それは次のようになります:

var jason = 
{
  "book1": {
    "price": 10,
    "weight": 30
  },
  "book2": {
    "price": 40,
    "weight": 60
  }
};

関数を使用してループできるのに$.each()、なぜ解析する必要があるのでしょうか。解析を適用した後、$.each()もう使用できません。理由はわかりません。そして、なぜこのようなものを使用できないのか理解できません: console(jason.book1[1]);

jquery の説明に次のように記載されていることを知っています。

説明:整形式の JSON 文字列を受け取り、結果の JavaScript オブジェクトを返します。

しかし、私は本当にそれを理解していません。とにかく、どんな助けも感謝します!

4

2 に答える 2

2

上記は JavaScript のオブジェクトです (技術的には JSON ではありません。JSON はデータ構造ではなく、オブジェクトを表すための表記に過ぎないためです。しかし、それを言うのは衒学的です):

ただし、次のような文字列があるとします。

var jason = '{"book1":{"price":10,"weight":30},"book2":{"price":40,"weight":60}}';

その文字列はさまざまな方法で取得できますが、それを持っているとしましょう。

$.parseJSON(jason)その文字列を上記のオブジェクトに変換します。

見る?http://jsfiddle.net/7Qvd2/

于 2012-10-31T01:07:43.710 に答える
1

JSON はデータの表現です。HTML や XHR からの場合は、常に文字列 (一連の文字) です。それを構成する個々の文字以外には意味がありません。プロパティをその:値にポイントする:は、JSON の文字列に表示される と同じ意味を持ちます。

それを解析して、使用可能なバージョン、つまり言語のネイティブ データ構造に変換された文字列を取得する必要があります。これにより、文字列がそのコンポーネントに解析されます。JavaScript では、オブジェクト、配列、ブール値、null、数値などに変換されます。他の言語には、同等の型と構造があります。

于 2012-10-31T01:04:55.623 に答える