1

リクエストを送信するたびにjsonレスポンスが常に更新され続けるため、jsonレスポンスの解析に小さな問題があります。私が見たすべての例では、タグ名を提供しています。私の質問は、API を介して送信されたリクエストからデータを解析しようとしていて、解析を開始する前に、JSON オブジェクト内に存在するすべての JSON 配列のすべてのタグを一覧表示したいということです。アンドロイドで可能ですか?http://api.yamgo.tv/channel?apiKey=187abeefc53f900600dc0fc5b8f913a0&token=892e069fa48eead5e7f84cddafe7f0ba これは私が送信しているリクエストであり、json レスポンスが返されます。json オブジェクトとしてチャンネルがあり、その中にボリウッド、エンターテイメント、音楽などのタグを持つ多くの json 配列があります。応答にオンライン パーサーを使用して確認します。この配列名のリストが必要です。どうすればできますか。誰でも助けてください。ありがとう。

4

2 に答える 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 に答える