2017-10-13 161 views
-7

如何在android中提前打印php响应json响应。
我在这个领域更新鲜,我需要帮助,请帮助我,我很新鲜,我不知道这个代码感谢先进的谢谢你。
我是android开发者,但我对json解析没有任何意见。
请帮我如何打印php响应JSON响应

{ 
     "details": [ 
     { 
      "p_id": "19", 
      "cat_id": "1", 
      "p_name": "Papad", 
      "p_namecode": "[01]Papad", 
      "p_image": 
      "p_price": "20", 
      "p_quantity": "2", 
      "p_code": "25", 
     "p_discount": "10", 
     "p_packing": "2", 
     "p_type": "small", 
     "p_status": "1", 
     "p": [ 
     { 
     "q_id": "16", 
     "p_id": "19", 
     "q_weight": "25-gm", 
     "q_price": "150", 
     "q_beg": "50 bunch", 
     "q_status": "1" 
     }, 
     { 
     "q_id": "17", 
     "p_id": "19", 
     "q_weight": "50-gm", 
     "q_price": "200", 
     "q_beg": "50-bunch", 
     "q_status": "1" 
     } 
     ] 
     }, 

    { 
    "p_id": "23", 
    "cat_id": "1", 
    "p_name": "Palak Papad", 
    "p_namecode": "[03]Palak", 
    "p_image": 
    "p_price": "200", 
    "p_quantity": "5", 
    "p_code": "02", 
    "p_discount": "15", 
    "p_packing": "4", 
    "p_type": "small", 
    "p_status": "1", 
    "p": [ 
    { 
     "q_id": "19", 
     "p_id": "23", 
     "q_weight": "50- gm", 
     "q_price": "15", 
     "q_beg": "50 bunch", 
     "q_status": "1" 
    }, 
    { 
     "q_id": "20", 
     "p_id": "23", 
     "q_weight": "1-kg", 
     "q_price": "30", 
     "q_beg": "50 bunch", 
     "q_status": "1" 
    } 
    ] 
} 
], 
"success": true, 
"message": "Category and Sub Category" 
} 
+0

使用https://github.com/google/gson进行json数据解析 –

回答

0

尝试此JSON数据解析

String jsonResult = {JSON-RESULT-IN-STRING}; 
JSONObject data = new JSONObject(jsonResult); 

boolean success = data.getBoolean("success"); 
String message = data.getString("message"); 

JSONArray detailArray = new JSONArray(data.getString("details")) 

for (int i=0; i<detailArray.length(); i++) { 
    JSONObject detail = detailArray.getJSONObject(i); 
    String pID = detail.getString("p_id"); 
    String catID = detail.getString("cat_id"); 
    .... 
    .... 
    .... 
} 
0

首先,你需要了解你的JSON结构。您需要GSON gradle,以便将您的PHP响应转换为java类对象。

在应用级gradle中添加此行。

compile 'com.google.code.gson:gson:2.8.2' 

要了解您的JSON数据见下图。它是您数据的精确表示。

enter image description here

你的JSON数据中包含array of Details,一个布尔值success和字符串称为message。但是您的Detail数组包含另一个名为p的数组。为更好地理解,请参阅下图。

enter image description here

现在我们已经准备好了。如下所示创建Java类P

public class P { 
    public int q_id; 
    public int p_id; 
    public String q_weight; 
    public int q_price; 
    public String q_beg; 
    public int q_status; 
} 

创建新的java类详细信息。仔细看看并创建一个完整的课程。你可以参考第一张图片。

public class Detail { 

    public int p_id; 
    public int cat_id; 
    public String p_name; 
    public String p_namecode; 
    . 
    . 
    . 
    public int p_status; 
    public ArrayList<P> p; 
} 

现在我们需要一个最终的类,你可以命名它任何东西。

public class Product { 
    public ArrayList<Detail> details; 
    public boolean success; 
    public String message; 
} 

现在,只要您收到您的PHP响应字符串,您就可以将它转换为像这样的java对象。

Product d = new Product(); 
String response = "your_php_response_goes here"; 
Gson gson = new Gson(); 
d = gson.fromJson(response, Product.class); 

你的整体响应数据是内部d对象。要检索数据,你可以这样做。

String p_name = d.details.get(0).p_name; 
int p_quantity = d.deatails.get(0).p_quantity;