Maison  >  Article  >  développement back-end  >  javascript - 非标准json格式解析的问题

javascript - 非标准json格式解析的问题

WBOY
WBOYoriginal
2016-07-06 13:52:592265parcourir

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn