这是来自url的我的json代码。这个对象没有一般的对象名称,但{H0...H20}
每个包含5个孩子,imgtitle
和imgtext
也包含两个孩子。
{
"h0":{
" id ": 1092,
" imgtitle ": {"fa":"cc","en":"dd"},
" imgtext ": {"fa_IR":"zz","en_GB":""},
" url": "www.example.com"
}
"h1":{
" id ":20221,
" imgtitle ":{"fa":"","en":"example"},
" imgtext ":{"fa_IR":"bb","en_GB":""},
" url ":"www.example.com"
}
.
.
"h20" {...
}
}
我的问题是
此代码不起作用。如何解决?和
如果它适用于imgtitle
和imgtext
??
private class JSONParse extends AsyncTask<String, String, JSONObject> {
private ProgressDialog pDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
uid = (TextView)findViewById(R.id.uid);
myurl = (TextView)findViewById(R.id.url);
pDialog = new ProgressDialog(MainActivity.this);
pDialog.setMessage("Getting Data ...");
}
@Override
protected JSONObject doInBackground(String... args) {
JSONParser jParser = new JSONParser();
// Getting JSON from URL
JSONObject json = jParser.getJSONFromUrl(url);
return json;
}
@Override
protected void onPostExecute(JSONObject json) {
pDialog.dismiss();
try {
JSONObject myobject = new JSONObject("h0");
int id = myobject.getInt("id");
String myurl= myobject.getString("url");
uid.setText(""+id);
myurl.setText(myurl);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
你没有调用正确的jsonObject,看看你的代码...... myObject是新的json ..所以当然它会为空。你应该用
json.getJsonObject(h4)
。我正在回复使用手机,所以抱歉打字错误和格式化