1

http://chriscargile.com/dictionary/tojson/moon.js

たとえば、ここで「月」という単語のすべての定義を取得したいと考えています。jQueryを使ってみた

$.getJSON(url, function (json) {
    alert(json.definition)
})

これは最後の定義を返すだけです。

4

1 に答える 1

4

この問題は、JSON では重複キーが無効であるためです。配列の一部であるオブジェクトに各プロパティを作成する必要がありますposdefinitionJSON ファイルをこのバリデータに貼り付けると、 1 つのエントリしか返されない理由がわかります。

正しい形式は次のようになります。

{
    "lemma": "moon",
    "definitions": [
        {
            "pos": "n",
            "definition": "the natural satellite of the Earth",
            "samples": [
                "the average distance to the Moon is 384,400 kilometers",
                "men first stepped on the moon in 1969"
            ]
        },
        {
            "pos": "n",
            "definition": "any object resembling a moon",
            "samples": [
                "he made a moon lamp that he used as a night light",
                "the clock had a moon that showed various phases"
            ]
        }
    ]
}

次に、$.each(ネイティブに移行したい場合は単純なforループでも) を使用して、各定義とそのサンプルを反復処理できます。

于 2013-11-07T21:04:06.673 に答える