【发布时间】:2016-11-16 23:40:01
【问题描述】:
我想从 json 对象中获取 json 数据。
我的 json 数据是:{"avg":2.5} 而我的 android 代码是
public class AsyncTaskParseJson extends AsyncTask < String, String, String > {
final String TAG = "AsyncTaskParseJson.java";
// set your json string url here
String yourJsonStringUrl = "http://www.bsservicess.com/photoUpload/star_avg.php?bookName=" + book_name;
// contacts JSONArray
@Override
protected void onPreExecute() {}
@Override
protected String doInBackground(String...arg0) {
try {
JSONParser jParser = new JSONParser();
// get json string from url
JSONObject json = jParser.getJSONFromUrl(yourJsonStringUrl);
// get the array of users
JSONObject dataJsonArr = json.getJSONObject(str);
String c = dataJsonArr.getString("avg");
na = c;
starts = Float.parseFloat(c);
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String strFromDoInBg) {
super.onPostExecute(strFromDoInBg);
netRate.setRating(starts);
Toast.makeText(mybookview.this, Float.toString(starts), Toast.LENGTH_SHORT).show();
}
但不知何故它不起作用。我已经尝试了每个教程和所有东西,但没有任何效果。请帮助我
【问题讨论】:
-
您能解释一下哪个部分不起作用吗?您是否尝试进入调试模式并查看每一步会发生什么?打开链接你可以在你的后端看到一个警告警告:
Division by zero in /home/mohanmanali9/public_html/photoUpload/star_avg.php on line 30 -
其实我不知道如何从json对象中获取数据,我只是想知道从json对象中获取数据的方法
-
首先你需要一个模型类来映射你的json,那么你遵循的过程几乎是正确的。 here你可以找到一个很好的解释。
-
使用 Volley 库非常简单
-
1) Get your string from the server 2) Parse the JSON 假设您实际上是从 URL 获取 JSON