1

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

例如,我想在这里检索“月亮”这个词的所有定义。我曾尝试使用 jQuery

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

这只会返回我最后的定义。

4

1 回答 1

4

问题是因为重复键在 JSON 中无效。您需要在作为数组一部分的对象中创建每个pos和属性。definition如果您将 JSON 文件粘贴到此验证器中,您会明白为什么您只能返回一个条目。

正确的格式是这样的:

{
    "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 回答