开发者社区> 问答> 正文

JSONException错误,怎么解决

java.文件,错误:int success = json.getInt(TAG_SUCCESS);

 protected String doInBackground(String... args) {
   // Building Parameters
   List<NameValuePair> params = new ArrayList<NameValuePair>();
   // getting JSON string from URL
   JSONObject json = jParser.makeHttpRequest(url_all_products, "GET", params);

   // Check your log cat for JSON reponse
   Log.d("All Products: ", json.toString());

   try {
       // Checking for SUCCESS TAG
       **int success = json.getInt(TAG_SUCCESS);**

       if (success == 1) {
           // products found
           // Getting Array of Products
           products = json.getJSONArray(TAG_PRODUCTS);
           Log.d("level1: ", "@@@@@@@@@@@@@@@@@@@@@@
$$

$$

$$

$$

$$

$$

$$

$$

$$

$$

$$

$$

$$

$$

$$

$$
$");

           // looping through All Products
           for (int i = 0; i < products.length(); i++) {
               JSONObject c = products.getJSONObject(i);

               // Storing each json item in variable
               String id = c.getString(TAG_PID);
               String name = c.getString(TAG_NAME);
               Log.d("level2: ", "lksdjflsdjf0wrewrwje************************");
               // creating new HashMap
               HashMap<String, String> map = new HashMap<String, String>();

               // adding each child node to HashMap key => value
               map.put(TAG_PID, id);
               map.put(TAG_NAME, name);

               // adding HashList to ArrayList
               productsList.add(map);
           }
       } else {
           // no products found
           // Launch Add New product Activity
           Log.d("level3: ", "jldksffffffffffffffffffffffffffffffffffffff");
           Intent i = new Intent(getApplicationContext(),
                   NewProductActivity.class);
           // Closing all previous activities
           i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
           startActivity(i);
       }
   } catch (JSONException e) {
       e.printStackTrace();
   }

   return null;
}
服务器的jsonArray如下,我已经通过jsonlint.con验证过了
    {
"tbl_user": {
   "0": {
       "id": "195",
       "email": "aru@yahoo.com",
       "password": "202cb962ac59075b964b07152d234b70",
       "fname": "aru",
       "lname": "sharma"
   },
   "1": {
       "id": "196",
       "email": "manu@yahoo.com",
       "password": "202cb962ac59075b964b07152d234b70",
       "fname": "manu",
       "lname": "sharma"
   },
   "2": {
       "id": "197",
       "email": "rishi@yahoo.com",
       "password": "202cb962ac59075b964b07152d234b70",
       "fname": "rishi",
       "lname": "sharma"
   },
   "success": 1
}
}
然后PHP代码如下:
   function getUsers() {
$sql = "select * FROM tbl_user ORDER BY fname";
try {
   $db = getConnection();
   $stmt = $db->query($sql);  
   $users = $stmt->fetchAll(PDO::FETCH_OBJ);
   $users["success"] = 1;
   $db = null;
   echo '{"tbl_user": ' . json_encode($users) . '}';

} catch(PDOException $e) {
   echo '{"error":{"text":'. $e->getMessage() .'}}'; 
}

请帮我解决一下,谢谢。

展开
收起
小旋风柴进 2016-03-05 15:41:29 5238 0
1 条回答
写回答
取消 提交回答
  • 试试:

    PHP:

    try {
    $db = getConnection();
    $stmt = $db->query($sql);  
    $users["tbl_user"] = $stmt->fetchAll(PDO::FETCH_OBJ);
    $users["success"] = 1;
    $db = null;
    echo json_encode($users) 
    
    } catch(PDOException $e) {
    echo '{"error":{"text":'. $e->getMessage() .'}}'; 
    }

    在java文件:

    JSONObject json = jParser.makeHttpRequest(url_all_products, "GET", params);
    int success = json.getInt(TAG_SUCCESS);
    2019-07-17 18:53:39
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载