如何使用JsonArray和JsonObject创建Json

4
我希望创建一个Json结构,实际上是一个JsonObject内嵌一个JsonArray。 样例结构如下:

1.

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

2.

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

但是我无法理解它...任何帮助都将不胜感激。

搜索一下如何解析JSON。 - rajpara
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

@jesperB...谢谢伙计。现在我知道该怎么做了。:-) - dave21
1
如果这个问题得到了解决,你应该给这个人以荣誉,接受他的答案 :) - Vipul

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);
}

0

你可以使用GSON来进行解析,它会让你的生活变得简单。

你可以查看我在这个SO问题中的答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接