https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13001631234
使用这个接口查询归属地信息后php不能够解析json字符串
php
$ch = curl_init();
$url = "https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=$mobile"."&t=".time();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 执行HTTP请求
curl_setopt($ch, CURLOPT_URL, $url);
$res = curl_exec($ch);
$res = trim(explode('=',$res)[1]);
$res = iconv('gbk','utf-8', $res);
var_dump($res);
$res = json_decode($res, true);
var_dump($res);
怪我咯2017-04-10 18:01:00
-已解决
通过json_last_error()发现是JSON_ERROR_SYNTAX: ' - Syntax error, malformed JSON'
后来将key接用""扩了起来就可以了
$res = trim(explode('=',$res)[1]);
$res = iconv('gbk','utf-8', $res);
$res = str_replace("'",'"', $res);
$res = preg_replace('/(\w+):/is', '"$1":', $res);
迷茫2017-04-10 18:01:00
对于php来说jsonp
转json
,并非直接取后就完事了。
下面是官方文档的说明:
<?php
// the following strings are valid JavaScript but not valid JSON
// the name and value must be enclosed in double quotes
// single quotes are not valid
$bad_json = "{ 'bar': 'baz' }";
json_decode($bad_json); // null
// the name must be enclosed in double quotes
$bad_json = '{ bar: "baz" }';
json_decode($bad_json); // null
// trailing commas are not allowed
$bad_json = '{ bar: "baz", }';
json_decode($bad_json); // null
?>
官方文档入口json-decode