> 백엔드 개발 > PHP 튜토리얼 > javascript - 非标准json格式解析的问题

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

WBOY
풀어 주다: 2016-07-06 13:52:59
원래의
2330명이 탐색했습니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿