4

実際には JsonObject 内の JsonArray である Json 構造を作成したいと考えています。サンプル構造は次のとおりです。

1.

{
“req”: [
{
  “ctrlId”:”txt1”
},
{
  “ctrlId”:”txt2”
}
]
}

2.

{
“req”: [
{
  “ctrlId”:”txt1”,
  “val” : “val1”
},
{
  “ctrlId”:”txt2”,
  “val” : “val2”
}
]
}

しかし、私はそれを得ることができません..どんな助けでも大歓迎です..

4

3 に答える 3

16
    JSONObject obj = new JSONObject();
    JSONArray req = new JSONArray();

    JSONObject reqObj = new JSONObject()
    reqObj.put( "ctrlId", "txt1" );
    req.put( reqObj );
    reqObj = new JSONObject();
    reqObj.put( "ctrlId", "txt2" );
    req.put( reqObj );

    obj.put( "req", req );

最終的なオブジェクトはobj

于 2012-06-29T11:13:31.477 に答える
1

私はこの配列を持っています

{
"result": "success",
"countryCodeList":
[
  {"countryCode":"00","countryName":"World Wide"},
  {"countryCode":"kr","countryName":"Korea"}
] 
}

以下では国の詳細を取得しているので、valArray.getJSONArray(1)を使用しました

valArray.getJSONArray(0)を使用できます

JSONObject json = new JSONObject(jsonstring);
JSONArray nameArray = json.names();
JSONArray valArray = json.toJSONArray(nameArray);

JSONArray valArray1 = valArray.getJSONArray(1);

valArray1.toString().replace("[", "");
valArray1.toString().replace("]", "");

int len = valArray1.length();

for (int i = 0; i < valArray1.length(); i++) {

 Country country = new Country();
 JSONObject arr = valArray1.getJSONObject(i);
 country.setCountryCode(arr.getString("countryCode"));                        
 country.setCountryName(arr.getString("countryName"));
 arrCountries.add(country);
}
于 2012-06-29T11:19:21.913 に答える
0

この解析を行うためにGSONを使用できます。それはあなたの人生をシンプルにします。

このSOの質問で私の答えを見ることができます

于 2012-06-29T11:21:31.423 に答える