一个错误说java.lang.string无法转换为jsonobject,我该如何将其转换为jsonobject
这是我的PHP代码:
<?php
mysql_connect("localhost","root","");
mysql_select_db("mydatabase");
$query = "SELECT SUM(OrderPrice) as total FROM tbl_user";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
$new_arr[] = $row['total'];
}
echo json_encode($new_arr);
?>
我的安卓代码:
try{
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
Log.i("log_tag","total: "+json_data.getString("total"));
total.setText("total");
}
}catch(JSONException e){
Log.e("log_tag", "Error parsing data " + e.toString());
答案 0 :(得分:0)
在下面的代码行中结果正在以字符串形式获取,而JSON格式不正确,这就是您收到此错误的原因:
JSONArray jArray = new JSONArray(result);
答案 1 :(得分:0)
您的JSON很可能是一个数字数组而不是像
这样的字典["23.00", "24.00"]
所以当你做的时候
JSONObject json_data = jArray.getJSONObject(i);
您将获得一个像“23.00”这样的字符串。您没有获得JSON对象。所以它导致异常。你应该把它改成:
String total = jArray.getString(i);
所以只需确认一下,您的代码应如下所示:
try{
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
String total = jArray.getString(i);
Log.i("log_tag","total: "+total);
total.setText(total);
}
}catch(JSONException e){
Log.e("log_tag", "Error parsing data " + e.toString());
}