ホームページ  >  記事  >  バックエンド開発  >  JavaScript - 非標準の JSON 形式の解析に関する問題

JavaScript - 非標準の JSON 形式の解析に関する問題

WBOY
WBOYオリジナル
2016-07-06 13:52:592265ブラウズ

1.

JavaScript - 非標準の JSON 形式の解析に関する問題

返回的是这个格式,PHP的json_decode();不能直接解析,难道要各种切割字符串成JSON格式,在用json_decode();解析?

JavaScript - 非標準の JSON 形式の解析に関する問題

这是标准的json格式.

2.
JavaScript - 非標準の JSON 形式の解析に関する問題
这个特别接近json格式了,但是还是无法解析.
各位有没有好的方法.

回复内容:

1.

JavaScript - 非標準の JSON 形式の解析に関する問題

返回的是这个格式,PHP的json_decode();不能直接解析,难道要各种切割字符串成JSON格式,在用json_decode();解析?

JavaScript - 非標準の JSON 形式の解析に関する問題

这是标准的json格式.

2.
JavaScript - 非標準の JSON 形式の解析に関する問題
这个特别接近json格式了,但是还是无法解析.
各位有没有好的方法.

这里是 是不是 的问题
而不是 像不像 的问题

老老实实把提取出来吧。

<code class="php">$res = file_get_contents('https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15011923452');
    /*"__GetZoneResult_ = {
    mts:'1501192',
    province:'广东',
    catName:'中国移动',
    telString:'15011923452',
    areaVid:'30517',
    ispVid:'3236139',
    carrier:'广东移动'
}"*/
    $res = trim(explode('=',$res)[1]);
    $res = iconv('gbk','utf-8', $res);
    $res = str_replace("'",'"', $res);
    $res = preg_replace('/(\w+):/is', '"$1":', $res);
    print_r(json_decode($res,1));
    /*Array
(
    [mts] => 1501192
    [province] => 广东
    [catName] => 中国移动
    [telString] => 15011923452
    [areaVid] => 30517
    [ispVid] => 3236139
    [carrier] => 广东移动
)*/</code>

PHP的话必须要提取成json字符串才行。。

这是个js的属性对象吧...
如果不怕XSS注入的风险,可以直接扔到js里面。

全部取出来=>用正则去掉第一个{前的内容=>JSON.parse

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。