我在解析 json 响应时遇到了一个小问题,因为每当我发送请求时它都会不断更新。我看到的所有示例都让我们提供了标签名称。我的问题是我正在尝试从通过 API 发送的请求中解析数据,并且我想在开始解析之前列出 JSON 对象中存在的所有 JSON 数组的所有标签。在android中可以吗?http://api.yamgo.tv/channel?apiKey=187abeefc53f900600dc0fc5b8f913a0&token=892e069fa48eead5e7f84cddafe7f0ba 这是我发送的请求,它给了我一个 json 响应。它具有作为 json 对象的通道,其中包含许多带有诸如宝莱坞、娱乐、音乐等标签的 json 数组。使用在线解析器来检查响应。我想要这个数组名称列表。我该怎么做。谁能帮忙。谢谢。
问问题
5232 次
2 回答
6
实际上,我是在一位朋友的帮助下才弄明白的。需要使用 Iterator 对象。这是代码片段
JSONObject channels = jobj.getJSONObject(TAG_CHANNELS);
Iterator<?> keys=channels.keys();
while( keys.hasNext() )
{
String key = (String)keys.next();
Log.e("Key", key);
if( channels.get(key) instanceof JSONArray ){
jsontags.add(key);
}
}
于 2012-09-20T10:02:18.070 回答
1
其中 jsonObj 是包含一些数据的 JSONObject,通过以下代码,您只能获取字段名称,如果您想要列值,那么您可以进一步添加键值。
List<String> listArray = new ArrayList<String>();
Iterator iter = jsonObj.keys();
int count=0;
while(iter.hasNext()){
listArray.add((String)iter.next());
count +=1;
}
System.out.println(listArray);
output: [projector, video_conference, polycom, lcd, digital_phone, speaker_phone]
于 2013-02-12T06:54:36.333 回答