我正在尝试完成部分Android应用程序,使用户能够输入URL,并从中提取JSON数组数据。目前,应用程序采用用户URL,并将字符串存储为如下所示:
{
"name": "Demo",
"currentdistance": "0",
"goals": [
{
"goal": {
"depth": "2",
"goal": "2"
},
"goal": {
"depth": "6",
"goal": "4"
},
"goal": {
"depth": "4",
"goal": "3"
}
}
]
}
现在我发现许多解决方案(例如this)效果很好,但他们假设您提前知道关键值是什么。我正在尝试从编译时未知的源创建一个JSON数组,并且可以从一个键到多个键。
我尝试将字符串保存为JSON对象,然后使用.put
将其添加到数组中,但如果数据有多个键,则没有太大用处。一旦我从URL获取数据,我必须能够解析和处理就像一个真正的JSON数组。
我现在不关心对URL的错误检查,所以假设给应用程序的URL是一个正确的HTTP JSON文本,如上所示。
任何帮助将不胜感激!
答案 0 :(得分:1)
不能。如果您不是真的了解JSON模式,则无法将其解析为POJO
(Plain Old Java Object),因为Java是一种强类型语言。您可以使用Javascript
。
如果您想要浏览json字符串的所有键值。Sample code
jObject = new JSONObject(contents.trim());
Iterator<?> keys = jObject.keys();
while( keys.hasNext() ) {
String key = (String)keys.next();
if ( jObject.get(key) instanceof JSONObject ) {
}
}
希望这有帮助:)