1

URLからJSONデータを文字列オブジェクトとして読み取り、それを(文字列オブジェクトとして)2番目のアクティビティに渡しました。この文字列オブジェクトから値を読み取るにはどうすればよいですか?私を助けてください。

以下は私のjsonです:

{
    "speciality": [
        {
            "id": "1",
            "d_name": "Dr.Steven Cohen",
            "file_upload": "dr-photo.png",
            "d_address": "3838 California St. San Francisco,CA 94118",
            "d_specialty": "Eye",
            "designation": "Ophthalmologist",
            "d_city": "San Francisco",
            "d_state": "Calfornia",
            "d_zipcode": "CA94118",
            "d_phone": "018  000  000",
            "latitude": "18.815427",
            "longitude": "76.775144"
        },
        {
            "id": "2",
            "d_name": "Dr.  Hanish Patel",
            "file_upload": "hanish-patel.jpg",
            "d_address": " 160  East 56th Street New York, NY 10022 ",
            "d_specialty": "Eye",
            "designation": "Optometrist",
            "d_city": "New York",
            "d_state": "United States",
            "d_zipcode": "NY 10022",
            "d_phone": "018 000 000",
            "latitude": "40.760407",
            "longitude": "-73.968694"
        },
        {
            "id": "3",
            "d_name": " Dr. Leonard Bley MD, FACS ",
            "file_upload": "leonard-bley.jpg",
            "d_address": " 160 East 56th Street New York, NY 10022",
            "d_specialty": "Eye",
            "designation": "Ophthalmologist",
            "d_city": "New York",
            "d_state": "United States",
            "d_zipcode": "NY 10022",
            "d_phone": "018 000 000",
            "latitude": "40.760407",
            "longitude": "-73.968694"
        },
        {
            "id": "4",
            "d_name": "Dr. John Selle",
            "file_upload": "john_selle.jpg",
            "d_address": "2250 Hayes St Ste 206 San Francisco, CA 94117",
            "d_specialty": "Eye",
            "designation": "General  Practitioner",
            "d_city": "San Francisco",
            "d_state": "Calfornia",
            "d_zipcode": "CA94118",
            "d_phone": "018 000 000",
            "latitude": "37.78604",
            "longitude": "-122.457639"
        }
    ]
}

そしてここに私のコードがあります:

try {
    JSONObject mainObject = new JSONObject(strjson);
    //JSONObject uniObject =         mainObject.getJSONObject("speciality");
    //JSONObject  uniName = uniObject.getJSONObject("d_name");
    //JSONObject uniURL = uniObject.getJSONObject("d_address");

    JSONObject oneObject = mainObject.getJSONObject("d_name");

    Log.e("name:", "unique name" + oneObject);
} catch (JSONException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}

}

4

4 に答える 4

0

これを試して:

これがあなたのお役に立てば幸いです...

  JSONObject mainObject = new JSONObject(strjson);
 JSONArray details= mainObject .getJSONArray("speciality");
 if (details.length()!=0) {
    for (int i = 0; i < details.length(); i++) {

    String id = details.getJSONObject(i).getString("id");

        String name = details.getJSONObject(i).getString("d_name");
                            ......
                            ......
            String longitude= friends.getJSONObject(i).getString("longitude");
}
}
于 2013-02-19T12:20:31.637 に答える
0

これを試して ....

      JSONObject mainObject = new JSONObject(strjson);

      JSONArray Array = mainObject.getJSONArray("speciality");
        for (int j = 0; j < Array.length(); j++) 
        {   
            if (Array.getJSONObject(j).has("id")) 
            {
                String str1 = (Array.getJSONObject(j).getString("id"));
                String str2 = (Array.getJSONObject(j).getString("d_name"));
              Log.e("TA","name:"+str2);
             }
        }
于 2013-02-19T12:48:57.843 に答える
0

これを使って

JSONArray Array = statusObject.getJSONArray("speciality");
            for (int j = 0; j < Array.length(); j++) 
            {   
                if (Array.getJSONObject(j).has("id")) 
                {
                    String str1 = (Array.getJSONObject(j).getString("id"));
                    String str2 = (Array.getJSONObject(j).getString("d_name"));
.
.
.
.
.
}
}
于 2013-02-19T12:08:01.437 に答える
0

あなたのアプローチは問題ありませんが、問題が 1 つあります。d_nameがメインの JSONObject のキーであると仮定します。

まず、重要な専門分野の価値を得る必要があります。次に、d_name値を取得しようとします。専門分野を取得するレスポンスは JSONArray であることを思い出してください。

于 2013-02-19T12:06:39.643 に答える