【发布时间】:2012-06-06 05:07:06
【问题描述】:
我需要您的帮助来解决以下问题。我想读取 JSON 文件的父标签。以下是我的 JSON 文件内容;
{
"ebook":
[
{"id":"1","name":"book1"},
{"id":"2","name":"book2"}
],
"ebrochure":
[
{"id":"1","name":"brochure1"},
{"id":"2","name":"brochure2"}
],
"emenu":
[
{"id":"1","name":"menu1"},
{"id":"2","name":"menu2"}
]
}
我只需要找出 JSON 中有多少个父标签以及它们是什么。根据我给定的 JSON 文件,答案应该是 3(有 3 个父 JSON 标签)和“ebooks, ebrochure em>, emenu"(父标签的名称)。有什么 JAVA 课程可以让我完成工作吗?
我知道如何阅读完整的 JSON 文件。首先,我们将 JSON 传递给 JSONObject,然后使用 getJSONArray() 方法将孩子传递给 JSONArray。
但getJSONArray() 方法需要父标签的名称。根据我的示例,它可以是 ebook、ebrochure 或 emenu。假设有一种情况,我们无法看到 JSON 的内容,只能访问 URL。在这种情况下,我需要找出有多少父母标签以及它们的名称。
这是我的问题。提前感谢您帮助我:-)
【问题讨论】:
-
那么,JSONObject 上有哪些方法可能有用? (那里的顶级 JSONObject 有 3 个键/值对。如何以编程方式找到它?)
-
这个没有意义:有一种情况是看不到json的内容,只能访问url如果可以访问url,可以获取内容。当您获取内容时,
JSONObject(URLText).length()会告诉您“父”标签的数量:实际上,它们是匿名父标签的子标签。JSONObject.names()和JSONObject.optJSONArray()也可能对您有所帮助。 -
@KenY-N 是的,如果我没有在我的问题中提到 Assume 词,那是没有意义的。 :-) 因为assume 词背后有一个巨大的故事。如果我说摘要的话;在实现 Android 应用程序之后,可以通过添加新的父标签来更改 JSON。根据父标签,我正在显示一些 UI 元素。因此,我不想每次使用新的父标签编辑 JSON 时都更改我的代码。如果我可以以编程方式识别有多少父标签和名称,那么我可以根据它加载 UI。我想现在你知道我为什么要写这样的问题了。 :-)