【发布时间】:2016-04-23 02:46:08
【问题描述】:
我正在尝试解析没有数组名称的 json 结果。我尝试了不同的方法,但它们都不起作用这些是我的代码。 所以请有人告诉我如何在不使用数组名的情况下解析 json 结果
提前致谢。
我的 JSON
[{"id":"710","name":"app","address":"k","gender":"h"}]
我正在尝试解析这个 JSON
{"employees":[{"id":"710","name":"app","address":"k","gender":"h"}]}
我希望是这样的
private class CheckList extends AsyncTask<String, String, JSONObject> {
private ProgressDialog mProgressDialog;
@Override
protected void onPreExecute() {
mProgressDialog = new ProgressDialog(Main2Activity.this);
// Set progressdialog title
mProgressDialog.setTitle("Please Wait");
// Set progressdialog message
mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(false);
// Show progressdialog
mProgressDialog.show();
super.onPreExecute();
Main2Activity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
}
@Override
protected JSONObject doInBackground(String... args) {
final JParserAdv jParser = new JParserAdv();
JSONObject json = jParser.makeHttpRequest("http://afkdemo.glabsapps.com/insertwebservice.asmx/getData?id=710", "GET", null);
return json;
}
@Override
protected void onPostExecute(JSONObject json) {
ArrayList<ITEM> data=new ArrayList<ITEM>();
try {
//need to insert array name here but json result I'm using is without array name.
JSONArray arr = json.getJSONArray("arrayname");
for(int i=0;i<arr.length();i++) {
ITEM d = new ITEM();
d.item_rank = ((JSONObject) arr.get(i)).get("id").toString();
d.item_name = ((JSONObject) arr.get(i)).get("name").toString();
d.item_population = ((JSONObject) arr.get(i)).get("address").toString();
data.add(d);
}
My_adapter adapter = new My_adapter(Main2Activity.this, data);
listView.setAdapter(adapter);
mProgressDialog.dismiss();
}catch (Exception ex){ex.printStackTrace();}
}
}
【问题讨论】:
-
您能否发布一个您尝试解析的示例 JSON。那时我们会更容易回答。谢谢。
-
[{"id":"710","name":"app","address":"k","gender":"h"}] 我正在尝试解析这个JSON {"employees":[{"id":"710","name":"app","address":"k","gender":"h"}]} 我希望它是这样的