2017-10-13 159 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;