这是Json对象
{
"Shops": [
{
"shop_id": "916TCR",
"lat": "10.512573",
"long": "76.255868",
"Address": "******"
},
{
"shop_id": "RKTCR",
"lat": "10.527642",
"long": "76.214435",
"Address": "Sanfrncisco,USA"
},
{
"shop_id": "LSTCR",
"lat": "10.527642",
"long": "76.214435",
"Address": "afgfagra"
},
{
"shop_id": "WBSTCR",
"lat": "10.527642",
"long": "76.214435",
"Address": "agkangj"
},
{
"shop_id": "BHTTCR",
"lat": "10.226967",
"long": "76.193833",
"Address": "gjognje"
},
{
"shop_id": "KFCTCR",
"lat": "10.527642",
"long": "76.214435",
"Address": "aijaogv"
},
{
"shop_id": "MCTCR",
"lat": "10.505201",
"long": "76.269635",
"Address": "plmqntonf"
},
{
"shop_id": "BHBTCR",
"lat": "10.527642",
"long": "76.214435",
"Address": "agkbajgoj"
},
{
"shop_id": "DMSTCR",
"lat": "10.528698",
"long": "76.201991",
"Address": "fajbjab"
},
{
"shop_id": "CKGTCR",
"lat": "10.268945",
"long": "76.157043",
"Address": "ajnrgj"
}
]
}
我想获得Shops [0],Shops [1] .....,从而得到shop_id,lat,long ...
我正在使用Volley Library。
Java代码
ArrayAdapter<String> adapter;
ArrayList<String> items;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listView=(ListView)findViewById(R.id.listv);
items=new ArrayList<String>();
adapter=new ArrayAdapter(this, R.layout.item_layout,R.id.txt,items);
listView.setAdapter(adapter);
}
String url ="Returns Json file"
JsonArrayRequest jsonArrayRequest=new JsonArrayRequest(url,new Response.Listener<JSONArray>() {
public void onResponse(JSONArray jsonArray){
for (int i=0;i<jsonArray.length();i++) {
try {
JSONObject jsonObject = jsonArray.getJSONObject(i);
items.add(jsonObject.getString("shop_id"));
items.add(jsonObject.getString("Address"));
items.add(jsonObject.getString("lat"));
items.add(jsonObject.getString("long"));
} catch (JSONException e) {
e.printStackTrace();
}
adapter.notifyDataSetChanged();
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError){
Log.e("Error", "Unable to parse json array");
}
});
requestQueue.add(jsonArrayRequest);
}
`
您得到的是一个包含名为“商店”的数组的json对象。要获取Shops数组中的对象,您首先需要将响应转换为JSONObject(在本示例中称为responseObject),然后获取其Shops数组(shopsArray),然后遍历它以获取每个对象(shopObject),然后它们的名称/值:
JSONArray shopsArray = responseObject.getJSONArray("Shops");
for (int i = 0, i < shopsArray.length(); i++) {
JSONObject shopObject = shopsArray.getJSONObject(i);
String shopId = shopObject.getString("shop_id");
String latitude = shopObject.getString("lat");
String longitude = shopObject.getString("long");
String address = shopObject.getString("Address");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句