返回的JSON数据格式是这样的
data=%7B%22site_id%22%3A+%221596050222807053%22%2C+%22ad_id%22%3A+%22%22%2C+%22data%22%3A+%5B%7B%22lable%22%3A+%22%5Cu8bfe%5Cu7a0b%5Cu9009%5Cu62e9%22%2C+%22id%22%3A+1596050222818312%2C+%22value%22%3A+%22%5Cu897f%5Cu70b9%5Cu70d8%5Cu7119%22%2C+%22label%22%3A+%22%5Cu8bfe%5Cu7a0b%5Cu9009%5Cu62e9%22%7D%2C+%7B%22lable%22%3A+%22%5Cu59d3%5Cu540d%22%2C+%22id%22%3A+1596050222818328%2C+%22value%22%3A+%22%5Cu6d4b%5Cu8bd5%22%2C+%22label%22%3A+%22%5Cu59d3%5Cu540d%22%7D%2C+%7B%22lable%22%3A+%22%5Cu7535%5Cu8bdd%22%2C+%22id%22%3A+1596050222818344%2C+%22value%22%3A+%2213488888888%22%2C+%22label%22%3A+%22%5Cu7535%5Cu8bdd%22%7D%5D%7D
如何提取里面的姓名、电话等信息?
注:JSON是从另外一个平台提取的,前端是不能操作。
我用站长工具去 解码就可以出来,
但是直接用PHP urldecode 转换
data={“site_id“: “1596050222807053“ “ad_id“: ““ “data“: [{“lable“: “u8bfeu7a0bu9009u62e9“ “id“: 1596050222818312 “........
符号是中文的、过滤了 \
在html裏面 使用$.getJSON函數 可將php的json數據轉換撐html數據
或者:$.get()方法 $.ajax()方法
你是要php提取还是js了?你这个数据时客户端提交的键值对中还是什么?客户端提交的直接
$data=$_POST["data"];获取就行了,如果是get提交用$data=$_GET["data"];
然后json_decode转为对象就可以获取了
http://www.php.net/manual/en/function.json-decode.php
先URL解码,再unicode解码,然后就能转换成如下:
data={"site_id": "1596050222807053", "ad_id": "", "data": [{"lable": "课程选择", "id": 1596050222818312, "value": "西点烘焙", "label": "课程选择"}, {"lable": "姓名", "id": 1596050222818328, "value": "测试", "label": "姓名"}, {"lable": "电话", "id": 1596050222818344, "value": "13488888888", "label": "电话"}]}
然后就是提取json啦
$arr = json_decode($str,1); // $str 代表json字符串
转成数组就可以随便取值了。
$lat = $arr['content']['location']['lat'];
$ing= $arr['content']['location']['ing'];
跟楼上说的差不多,就是将返回的json字符串转换成键值对,然后根据key值来取相应的数据。
比如:data={"键":"值","姓名":"张三"};
根据键data就可以取data里面的{}的所有值。
取到{}的值就可以根据键取出值等。
$arr = json_decode('接收的json数据', true);