0

「やあみんな、

このJsonの形式を確認してください。

{"id": "293369****","owner": {
  "name": "******",
  "id": "*****"},name": "test event","start_time": "2012-05-18T02:00:00","end_time":"2012-05-18T05:00:00","privacy": "FRIENDS","updated_time": "2012-05-18T08:25:37+0000"}

Mはこのコードを使用しています。所有者のjson配列を除くすべての値をフェッチできます。所有者配列の値を取得したい。どこが間違っているのか教えてください。

json = new JSONObject(responsedata);
        Log.d(TAG, "name=" + responsedata);
        facebookData = new Events();
        JSONArray data=json.optJSONArray("owner");

        Log.d(TAG, "Data length==" + data.length());
        if (data.length() > 0) {
            for (int i = 0; i < data.length(); i++) {

                JSONObject jsonobj = data.getJSONObject(0);
                Log.d(TAG, "owner Name="+jsonobj.getString("name"));
            }
            }

        facebookData.setEventName(json.getString("name"));
        facebookData.setEventId(json.getString("id"));
        facebookData.setEventStartDate(json.getString("start_time"));
        facebookData.setEventEndDate(json.getString("end_time"));
        facebookData.setPrivacy(json.getString("privacy"));
    facebookData.setUpdatedTime("updated_time");

所有者名と所有者のFacebookIDを取得できません。私のjsonパーサーにいくつかの問題があります。

親切にこれで私を助けてください。

事前にありがとうGauravGupta

4

3 に答える 3

5
  {
   "id":"293369****",
   "owner":{
      "name":"******",
      "id":"*****"
   },
   "name":"test event",
   "start_time":"2012-05-18T02:00:00",
   "end_time":"2012-05-18T05:00:00",
   "privacy":"FRIENDS",
   "updated_time":"2012-05-18T08:25:37+0000"
 }

JsonObject{[意味し、JsonArray を意味します。

上記の文字列に JsonArray が見つかりません。"owner"JsonObject です。

コードを変更する必要がありますhttp://www.androidcompetencycenter.com/2009/10/json-parsing-in-android/を参照してください

于 2012-05-23T05:49:17.433 に答える
0

所有者がの場合、次のJSONArrayようになります(内部[]

"owner": [{"name": "******", "id": "*****"}]
于 2012-05-23T05:53:35.653 に答える
0
try this one
 try{
        JSONArray jArray = new JSONArray(result);
        JSONObject json_data=null;
           for(int i=0;i<jArray.length();i++)
           {
                json_data =jArray.getJSONObject(i);
                String src_name=json_data.getString("owner");


           }
    }catch(JSONException e){
            Log.e("log_tag", "Error parsing data "+e.toString());
            Toast.makeText(getApplicationContext(), "fail", Toast.LENGTH_SHORT).show();
    }
于 2012-05-23T05:44:30.270 に答える