1

我已从 URL 中读取 JSON 数据作为字符串对象,并将其(作为字符串对象)传递给我的第二个活动。如何从这个字符串对象中读取值?请帮我。

下面是我的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

你的方法很好,但有一个问题;您假设d_name是主 JSONObject 中的一个键。

您首先需要获得关键专业的价值;然后尝试获取d_name值。请记住,获得专业的响应是 JSONArray。

于 2013-02-19T12:06:39.643 回答
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

试试这个:

我希望这会对你有所帮助......

  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 回答