0
  [  {
        "question_id": 13,
        "creation_date": 10,
        "name": " certain degrees",
        "tags": [
            "android",
            "sensor"
        ],
.....
...}

]

タグ配列を取得したいAPIは次のとおりです。タグ配列にはインデックスと値のみが含まれています。配列オブジェクトを使用して配列を取得し、最終的に配列リストに格納したいのですが、エラーが発生しました。

02-20 15:45:37.323: I/System.out(1165): org.json.JSONException: Value android at 0 of type java.lang.String cannot be converted to JSONObject

誰でもこの問題を解決するのを手伝ってくれませんか。

tagarray = questionobj.getJSONArray("tags");


        for(int j=0;j<tagarray.length();j++){



//tagobject = tagarray.getJSONObject(j);//..if i comment this line the full array list is displaying but i need for each question allocated tags to display..am i clear.. 
            //if(tagobject!=null){
            tagname.add(tagarray.getString(j));
            ///tagname.add(0, null);
            //} 
        }
4

4 に答える 4

0

これを試して

tagarray = questionobj.getJSONArray( "tags");

    for(int j=0;j<tagarray.length();j++)
    {
        tagname.add(tagarray.getJSONObject(j).getString("android"));         
    }
于 2013-02-20T12:34:48.310 に答える
0

あなたのjson形式は正しくありません。そのようにしてみてください。

{"question":
{"question_id": "13", 
 "name": "certain degrees", 
 "tags": [{"android":"N", "sensor":"Y"}]
 }}

http://jsonviewer.stack.hu/を使用して、json データを確実に修正できます。

于 2013-02-20T10:42:58.910 に答える
0

これを試して、

   ArrayList<String> list = new ArrayList<String>();

String text = "[  { \"question_id\": 13, \"creation_date\": 10, \"name\": \"certain degrees\", \"tags\": [ \"android\", \"sensor\" ] } ]";
  try {
        JSONArray jarray = new JSONArray(text);

        for (int i = 0; i < jarray.length(); i++) {
            JSONArray j_array = jarray.getJSONObject(i)
                    .getJSONArray("tags");

            for (int j = 0; j < j_array.length(); j++) {
                String str = j_array.getString(j);

                list.add(str);

            }

        }
    } catch (Exception e) {

    }
于 2013-02-20T11:35:24.693 に答える
0

このコードを試すことをお勧めします。

import org.json.JSONArray;
import org.json.JSONObject;

public class Main {

    public static void main(String[] args) {
        String text = "[  { \"question_id\": 13, \"creation_date\": 10, \"name\": \"certain degrees\", \"tags\": [ \"android\", \"sensor\" ] } ]";

        System.out.println(text);

        JSONArray jsonArray = new JSONArray(text);

        JSONObject jsonObjetc = jsonArray.getJSONObject(0);

        JSONArray tagarray = jsonObjetc.getJSONArray("tags");

        System.out.println(tagarray);

        for(int j=0;j<tagarray.length();j++){
            System.out.println(tagarray.getString(j));
        }
    }
}

頑張れ、アーロン

于 2013-02-20T10:58:19.417 に答える