我有一个像这样的JSON:
{
"Output": [
{
"Description": "Desc1",
"Amount": 40,
"TotalQuota": 40,
"QuotaPerOne": 2
},
{
"Description": "Desc2",
"Amount": 50,
"TotalQuota": 60,
"QuotaPerOne": 3
}
]
}
我尝试获取列的值"描述"以上两个项目,并通过以下代码输入Arraylist:
try{
JSONArray output = importData.getJSONArray("Output");
ArrayList<String>Title = new ArrayList<String>();
for(int i=0;i<output.length();i++) {
String bookingInfo = output.getJSONObject(i).toString();
bookingList.add(bookingInfo);
}
}catch (Exception e) {
System.out.println(e.toString());
}
但我只获得了item1和item2的整个列。我期望的结果是放入&#34; Desc1&#34;,#34; Desc2&#34;进入ArrayList标题,请帮忙!
答案 0 :(得分:2)
仅从 JSON
获取Description
ArrayList<String> Title = new ArrayList<String>();
for(int i=0;i<output.length();i++) {
JSONObject jsonObject = output.getJSONObject(i)
// Check if the jsonObject contains "Description Tag"
if(jsonObject.has("Description")){
String descrption = jsonObject.getString("Description");
Title.add(descrption);
}
}
答案 1 :(得分:0)
我认为你使用的是一种错误的方法 使用它,这适用于我:
for(int i = 0;i<ja.length();i++)
{
JSONObject jo = ja.getJSONObject(i);
User u = new User();
u.userid = jo.getString("userId");//add descripton here
u.id = jo.getString("id");//amount and so on
u.title = jo.getString("title");
u.body = jo.getString("body");
list_user.add(u);
h.sendEmptyMessage(i);
Thread.sleep(300);
}
}
你只需要根据你的json数据更改它,就像你需要添加booklist而不是用户等等