如何在Android中打印php响应json响应提前感谢。
我在这个领域更新鲜,我需要帮助请帮助我,我更新,我不知道这个代码谢谢高级谢谢。<我是Android开发者,但我对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 :(得分:0)
尝试使用json数据解析
(?2$2)
答案 1 :(得分:0)
首先,您需要了解您的JSON结构。您需要GSON gradle才能轻松将PHP响应转换为java类对象。
在app level gradle中添加此行。
compile 'com.google.code.gson:gson:2.8.2'
要了解您的JSON数据,请参阅下面的图片。它是您数据的精确表示。
您的JSON数据包含array of Details
,布尔值success
和名为message
的字符串。但是您的Detail数组包含另一个名为p
的数组。为了更好地理解,请参见下图。
现在我们准备好了。
创建我在下面创建的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;