我正在从URL解析一个JSON数据。 我按照this教程来解析动态JSON数据
现在正在解析数据。 在List视图中..当我点击该列表视图时,将出现一个New Item视图,我想添加一些形成JSON数据的内容..但它查看最后一个数据所以我用一个解析它字符串格式,但我在字符串中获取数据,但我希望表中的数据..
这是我的JSON数据{
"request": "ok",
"query": {
"result": [
{
"details": [
{
"offers": [
{
"id": "UUkY8",
"model": "XL"
},
{
"id": "UUkY8",
"model": "XXL"
}
],
"count": 2,
"url": "http://www.wallmart.com"
},
{
"offers": [
{
"id": "NNkz4",
"model": "XL"
},
{
"id": "NNkz4",
"model": "XXL"
}
],
"count": 2,
"url": "http://www.amazon.com"
}
],
"flag": [
"http://www.donkersct.nl/wordpress/wp-content/uploads/2012/07/stackoverflow.png"
]
}
]
}
}
我以这种方式解析
JSONArray json_results_details =c.getJSONArray("details");
System.out.println("looping json_results_details");
String strOffermodel="";
for (int j = 0; j < c.length(); j++) {
System.out.println("looping json_results_details[" + j +"]" + "json_results_details.length() -->" + json_results_details.length());
if (j < json_results_details.length()) {
JSONObject d = json_results_details.getJSONObject(j);
stridsName += d.optString("name")+",";
stridsURLs += d.optString("url")+",";
// Get site details
long lOffer_Counts =-1;
try {
lOffer_Counts= Long.parseLong(d.optString("offers_count"));
} catch(Exception e) {
lOffer_Counts =-1;
}
strOffersCount+= String.valueOf(lOffer_Counts) + ",";
if(lOffer_Counts > 0) {
JSONArray json_offers = d.getJSONArray("offers");
System.out.println(json_offers.toString());
String strmodel="";
for (int k = 0; k < json_offers.length(); k++) {
JSONObject e = json_offers.getJSONObject(k);
map.put("id", e.optString("id"));
map.put("model", e.optString("model"));
strmodel += e.optString("model") + "$";
}
strOffermodel += strmodel + ",";
}
else
{
strOffermodel += ",";
}
map.put("id", stridsName);
map.put("model", strOffermodel);
}
}
arraylist.add(map);
所以我没有得到模型循环。
为Model:XL,XXL/XL,XXL...
我尝试使用列表视图但现在失败我正在尝试使用表格视图.. 但我希望输出应该是
这里只显示一个ID我想要所有ID和所有模型作为竞争对手.. 请帮我看看我在listviw中使用了一个表,我在Listview中尝试了Listview ..但是没有工作..
我尝试增加数据意味着ID /模型与for循环为i + 1但是它递增了值 意味着我被期待为
map.put("id", strOfferid);
map.put("id1", strOfferid1);
map.put("id2", strOfferid2);
map.put("id3", strOfferid3);
但我正在增加像
这样的值Model:XL1,XXL1/XL2,XXL2/XL3,XXL3
所以请任何人帮忙。
答案 0 :(得分:0)
使用而不是
JSONObject d = json_results_details.getJSONObject(j);
此
JSONObject d = new JSONbject(json_results_details.getJSONObject(j));