如何在android/java中获取json对象中json数组的所有标记名列表

如何在android/java中获取json对象中json数组的所有标记名列表,java,android,json,parsing,Java,Android,Json,Parsing,我在解析json响应时遇到了一个小问题,因为每当我发送请求时,json响应都会不断更新。我的问题是,我正试图解析通过API发送的请求中的数据,我想在开始解析之前列出JSON对象中存在的所有JSON数组的所有标记。在安卓系统中可能吗。 这是我正在发送的请求,它给我一个json响应。它有作为json对象的通道,其中有许多带有标签的json数组,如宝莱坞、娱乐、音乐等。使用在线解析器对响应进行检查。我想要这个数组名列表。我该怎么做呢。谁能帮忙吗。谢谢。我的一个朋友帮了我一个小忙,我就知道了。需要使用迭

我在解析json响应时遇到了一个小问题,因为每当我发送请求时,json响应都会不断更新。我的问题是,我正试图解析通过API发送的请求中的数据,我想在开始解析之前列出JSON对象中存在的所有JSON数组的所有标记。在安卓系统中可能吗。
这是我正在发送的请求,它给我一个json响应。它有作为json对象的通道,其中有许多带有标签的json数组,如宝莱坞、娱乐、音乐等。使用在线解析器对响应进行检查。我想要这个数组名列表。我该怎么做呢。谁能帮忙吗。谢谢。

我的一个朋友帮了我一个小忙,我就知道了。需要使用迭代器对象。 下面是代码片段

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);
        }
    }
JSONObject channels=jobj.getJSONObject(TAG_channels);
迭代器键=channels.keys();
while(keys.hasNext())
{
字符串键=(字符串)键。下一步();
Log.e(“Key”,Key);
if(channels.get(key)instanceof JSONArray){
jsontags.add(键);
}
}

我的一个朋友帮了我一个小忙,我就明白了。需要使用迭代器对象。 下面是代码片段

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);
        }
    }
JSONObject channels=jobj.getJSONObject(TAG_channels);
迭代器键=channels.keys();
while(keys.hasNext())
{
字符串键=(字符串)键。下一步();
Log.e(“Key”,Key);
if(channels.get(key)instanceof JSONArray){
jsontags.add(键);
}
}

其中JSONObject是包含一些数据的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]
List listary=new ArrayList();
迭代器iter=jsonObj.keys();
整数计数=0;
while(iter.hasNext()){
添加((字符串)iter.next());
计数+=1;
}
System.out.println(列表数组);
输出:[投影仪、视频会议、polycom、lcd、数字电话、扬声器电话]

其中JSONObject是包含一些数据的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]
List listary=new ArrayList();
迭代器iter=jsonObj.keys();
整数计数=0;
while(iter.hasNext()){
添加((字符串)iter.next());
计数+=1;
}
System.out.println(列表数组);
输出:[投影仪、视频会议、polycom、lcd、数字电话、扬声器电话]

上面的链接中有一些错误,因为这给了我空指针异常。在Dom解析中,这给了我在解析任何标记之前的空指针异常错误。好的,我想可能需要更改apikey和令牌,这就是为什么你会得到错误,我想使用迭代器完成它。很快发布解决方案。上面的链接中有一些错误,因为这给了我空指针异常。在Dom解析中,这给了我在解析任何标记之前的空指针异常错误。好的,我想可能需要更改apikey和令牌,这就是为什么你会得到错误,我想使用迭代器完成它。马上发布解决方案。