【发布时间】:2016-05-20 10:04:42
【问题描述】:
这是我的 JSonArray
{
"vendor":[
{
"vendor_name":"Tapan Moharana",
"vendor_description":"",
"vendor_slug":"tapan",
"vendor_logo":null,
"contact_number":null
}
],
"products":[
{
"name":"Massage",
"price":"5000.0000",
"image":"http:\/\/carrottech.com\/lcart\/media\/catalog\/product\/cache\/1\/image\/150x\/9df78eab33525d08d6e5fb8d27136e95\/2\/9\/29660571-beauty-spa-woman-portrait-beautiful-girl-touching-her-face.jpg"
},
{
"name":"Chicken Chilly",
"price":"234.0000",
"image":"http:\/\/carrottech.com\/lcart\/media\/catalog\/product\/cache\/1\/image\/150x\/9df78eab33525d08d6e5fb8d27136e95\/c\/h\/cheicken.jpg"
},
{
"name":"Chicken Biryani",
"price":"500.0000",
"image":"http:\/\/carrottech.com\/lcart\/media\/catalog\/product\/cache\/1\/image\/150x\/9df78eab33525d08d6e5fb8d27136e95\/placeholder\/default\/image_1.jpg"
}
]
}
这是我的 java 代码:
JSONObject jsono = new JSONObject(response);
JSONArray children = jsono.getJSONArray("vendor");
JSONArray childrenProducts = jsono.getJSONArray("products");
for (int i = 0; i <children.length(); i++) {
JSONObject jsonData = children.getJSONObject(i);
System.out.print(jsonData.getString("vendor_name") + "<----");
// String vendorThumbNailURL=jsonData.getString("")
//jvendorImageURL.setImageUrl(local, mImageLoader);
vendorLogo=vendorLogo+jsonData.getString("vendor_logo").trim();
jvendorImageURL.setImageUrl(vendorLogo, mImageLoader);
jvendorName.setText(jsonData.getString("vendor_name"));
jvendorAbout.setText(jsonData.getString("vendor_description"));
jvendorContact.setText(jsonData.getString("contact_number"));
System.out.print(jsonData.getString("products") + "<----");
}
for(int i=0;i<childrenProducts.length();i++){
JSONObject jsonData = childrenProducts.getJSONObject(i);
System.out.println("inside products");
System.out.print(jsonData.getString("name") + "<----dd");
}
第一个 for 循环工作正常,但第二个 forloop 不是。如果我尝试在第二个 for 循环中执行那些打印语句,我什么也得不到。请帮助我!!
【问题讨论】:
-
在您的回复中,孩子只有一项意味着孩子的大小为 1,这就是为什么它只迭代 onse..
-
我做了一个单独的对象: JSONArray childrenProducts = jsono.getJSONArray("products");这是第二个数组,奇怪的是这段代码不起作用..
-
childrenProducts.length() 的值是多少??
-
4 是我打印 childrenProducts.length() 时得到的结果
-
根据你的响应长度应该是3..你是在jsonData中获取数据吗?
标签: java android android-asynctask android-volley android-json