首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JSON解析时检查元素是否存在?

问如何在JSON解析时检查元素是否存在?
EN

Stack Overflow用户
提问于 2016-12-29 04:28:38
回答 0查看 61关注 0票数 0

我有以下json字符串。有时有多个定义元素,有时只有一个。我是JSON解析的新手,不知何故,我以一种非常原始的方式设法获得了出现的第一个定义元素的值。但是,我无法获得定义的所有值,因为我在网上找不到任何资源。我是否必须检查是否存在第二次出现的情况,或者是否有更好的方法?

JSON:

代码语言:javascript
复制
{
  "metadata": {
    "provider": "Oxford University Press"
  },
  "results": [
    {
      "id": "edifice",
      "language": "en",
      "lexicalEntries": [
        {
          "entries": [
            {
              "etymologies": [
                "late Middle English: via Old French from Latin aedificium, from aedis dwelling + facere make"
              ],
              "grammaticalFeatures": [
                {
                  "text": "Singular",
                  "type": "Number"
                }
              ],
              "senses": [
                {
                  "definitions": [
                    "a large, imposing building."
                  ],
                  "id": "m_en_gb0256160.001",
                  "registers": [
                    "formal"
                  ]
                },
                {
                  "definitions": [
                    "a complex system of beliefs:"
                  ],
                  "examples": [
                    {
                      "text": "the concepts on which the edifice of capitalism was built"
                    }
                  ],
                  "id": "m_en_gb0256160.002",
                  "registers": [
                    "formal"
                  ]
                }
              ]
            }
          ],
          "language": "en",
          "lexicalCategory": "Noun",
          "pronunciations": [
            {
              "audioFile": "http://audio.oxforddictionaries.com/en/mp3/edifice_gb_1.mp3",
              "dialects": [
                "British English"
              ],
              "phoneticNotation": "IPA",
              "phoneticSpelling": "ˈɛdɪfɪs"
            }
          ],
          "text": "edifice"
        }
      ],
      "type": "headword",
      "word": "edifice"
    }
  ]
}

获取定义值的Java代码片段:

代码语言:javascript
复制
String locations = data.getJSONArray("results").getJSONObject(0).getJSONArray("lexicalEntries").getJSONObject(0).getJSONArray("entries").getJSONObject(0).getJSONArray("senses").getJSONObject(0).get("definitions").toString();
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41369258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档