0

以下は私がAPIから取得しているjsonデータです

{
     "list": {
        "items": [
            "About Us",
            "Services",
            "Working With",
            "Officehours",
            "Useful Links",
            "Terms & Conditions",
            "Go to Website"
        ]
    },
    "data": 
    {
        "about us": {  "description": " Aaaaaaaa"   },
        "services": {  "description": " Baaaaaaa."  },
        "working with": { "description": "Caaaaaa"  },
        "officehours": {   "title": "Office Hours:","timing": "09:00am - 06:00pm"},
        "useful links": {  "description": [ 
                 {
                    "name": "One",
                    "link": "http://www.google.com/"
                },
                {
                    "name": "Two",
                    "link": "http://www.yahoo.com"
                }]},
        "terms & conditions": { "description": "Daaaaaaaaa" },
        "go to website": { "link": "http: //www.amazon.com/"  },
    }
}

上記のjsonデータでは、json配列の「リスト」値がリストビューに表示されます。それらを配列リストに追加し、リストビューにも表示しました。

これで、ユーザーがリストビューをクリックすると、それに対応するデータが次のアクティビティに表示されます。たとえば、ユーザーがクリックした場合、次のアクティビティでAbout US text of listviewを表示する方法を説明します。description Aaaaaaa

リストビューの各アイテムについてこのように、私は異なるアクティビティを開く必要があります。内側のタグの 場合はdescription開く必要があります内側のタグの場合は開く必要があります内側のタグの場合は開く必要 があります 内側のタグがJSON配列型の場合は開く必要がありますactivity1titleactivity2linkactivity3descriptionactivity4

コード内などのタグをホットコーディングすることは想定されていません"about us", "services","working with","officehours","useful links","terms & conditions", "go to website"

私のOnItemClickListenerで私は次のことをしています

try
  {
     JSONObject locarray = new JSONObject(Appconstant.dataObj.get(0).toString());        
     String txt_data = locarray.getJSONObject(about.get(arg2).toLowerCase()).getString("description");
  }
  catch(Exception e)
  {
      Log.e("Exception @ json 1",""+e);
  }

場合によっては、「説明」のJSOn値がないという例外が発生します

これを行う方法、plsは私を助けます

4

1 に答える 1

0

それを行う1つの方法は

JSONObject jobj = new JSONObject(content); // the content you have above
JSONObject data = jobj.getJSONObject("data");
JSONObject aboutUs = data.getJSONObject("about us");
String desc = aboutUs.getString("description:);

これが役立つかどうかわからない:)説明が空白の場合がある場合

aboutUs.optString("description");
于 2012-07-16T16:14:06.210 に答える