我有一个Android应用程序,它向我发送类似这样的数据 -
{"uid":1, "newAdd":"New York", "coupon_status":"yes", "coupon_code":"SALE50", "place_code":4, "basket":[{"name":"xyz", "vendorId":1, "total":100, "count":2}, {...} ,{...}] }
我需要对此进行解码并使用数据存储到数据库中。我如何使用循环来使用这些数据。我已经完成了普通数组,但是里面有一个对象。
请帮忙。
仅限PHP。
答案 0 :(得分:0)
您可以使用JSONObject和JSONArray从JSON字符串中获取数据。
您拥有JSON 对象字符串,如下所示。
{"uid":1, "newAdd":"New York", "coupon_status":"yes", "coupon_code":"SALE50", "place_code":4, "basket":[{"name":"xyz", "vendorId":1, "total":100, "count":2}, {...} ,{...}] }
您可以通过调用
将其转换为 JSONObject 对象JSONObject myObject=new JSONObject(YOUR_JSON_STRING);
现在要从 JSONObject 中检索值,有几种方法可用。
getString() - 获取字符串值。
getInt() - 用于获取整数值
getJSONArray() - 用于从位置获取数组。
就像 JSONObject JSONArray确实有多种方法可以检索值。
所有关于确保您使用JSONObject
或JSONArray
。
查看http://json-parser.com/51c495a8以了解 JSON字符串的结构。
答案 1 :(得分:0)
使用json_decode,第二个参数设置为true,它会给你一个数组。
json_decode($json, true);
不会给你一个StdClass。
答案 2 :(得分:0)
你可以解析JSON String如下,但是有很多foreach循环我希望它可以帮助你..
//Parse JSON String as array
$res = json_decode($json_string, true);
foreach ($json_a as $row => $value) {
echo $row . "........";
if(!is_array($value)){
echo $value."</br>";
}
else{
foreach ($value as $k=>$v){
echo "</br>........".$k."........</br>";
foreach($v as $data=>$dv){
echo $data."....".$dv."</br>";
}
}
}
}