0

以下のjsonからjson配列の連絡先を解析する必要があります

{

    },
    //Truncated for clarity
   ]
}
4

3 に答える 3

4

解析は簡単です。最初にjson-simpleを取得し、それをプロジェクトに追加します (または、組み込みの JSON ライブラリを使用できます。そのライブラリ内のすべてが checked をスローする方法が好きな場合JSONException)。

次に、応答テキスト全体が有効な JSON オブジェクトです。そうする:

JSONObject response = (JSONObject)JSONValue.parse(responseText);

オブジェクトには、「結果」キーの下に結果の配列があります。次のように取得できます。

JSONArray results = (JSONArray)response.get("result");

配列には、反復して各オブジェクトの連絡先情報を取得するオブジェクトのセットが含まれています。例えば:

for (Object obj : results) {
    JSONObject entry = (JSONObject)obj;
    JSONArray contacts = (JSONArray)entry.get("contact");
    for (Object contact : contacts) {
        System.out.println(contact);
    }
}

その JSON をまとめた人は誰でも、個々の連絡先エントリを保持するために配列型を使用することにしたことに注意してください。オブジェクト型の方がはるかに理にかなっていcontact.get(0)ますが、そのままでは、連絡先エントリのタイプ コード ( twなど)contact.get(1)が提供され、実際の連絡先番号/住所などが提供されます。

于 2012-04-11T07:08:52.683 に答える
1

これは有効なJsonではないと思います。通常の Json には : が必要"Label"です"value"。ラベルと値はコロンで区切る必要があります:

"w","www.firmdale.com"

このようにする必要があります

"w":"www.firmdale.com"

http://code.google.com/p/jsonvalidator/

編集済み: Aroth に従って、より明確かつ具体的にする

object
    {}
    { members } 
members
    pair
    pair , members
pair
    string : value
array
    []
    [ elements ]
elements
    value
    value , elements
value
    string
    number
    object
    array
    true
    false
    null 
于 2012-04-11T07:10:27.633 に答える
0
 private JSONObject jObject;
 jObject = new JSONObject(your response as string);
 //this will give you json object for HotelInformationResponse
 JSONArray menuitemArray = popupObject.getJSONArray("result"); 
 // loop through this array to get all values 

追加情報については、このリンクを確認してください

于 2012-04-11T06:59:52.740 に答える