这个数据是从后台程序返回的{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}
从结构上没有什么不妥,但是用json_deconde解析不了

解决方案 »

  1.   

    <?php
    $json = '{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}';
    $arr = json_decode($json,true);
    print_r($arr);
    //Array ( [bool] => 1 [string] => 添加成功 ) ;
      

  2.   

    用这种方式的确可以。我是用curl post的方式提交并获取返回值的
    $result=Sync::httppost($url,$postData);
    $resultArray=json_decode('$result',true);
    var_dump($result);
    var_dump($resultArray);
    结果为:
    string(51) "{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}"
    NULL
      

  3.   

    纠正一下,上面写错了
    $result=Sync::httppost($url,$postData);
    $resultArray=json_decode($result,true);
    var_dump($result);
    var_dump($resultArray);
    结果为:
    string(51) "{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}"
    NULL
      

  4.   

    应该是被转义了。
    $result=Sync::httppost($url,$postData);
    echo $result;exit(); 看下是什么。
      

  5.   

    {"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}
    的长度是 48
    而你 var_dump($result) 的结果是 51 多出的 3 个字节是什么呢?
    显然是 BOM 头
      

  6.   

    是dw检查了一遍,没发现包含bom
      

  7.   


    $result=Sync::httppost($url,$postData);
    echo $result;exit();查看源文件贴上来啊
      

  8.   

    页面输出以下文字
    {"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}
      

  9.   

    复制你#2的
    {"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}
    到 textarea 变成
    &#65279;{"bool":"1","string":"\u6dfb\u52a0\u6210\u529f"}你说前面多出的是什么?
      

  10.   

    这个json用的都是单引号括起来的,这个返回来的是双引号,弄起来还是比较麻烦的.
    你先把里面双引号转成单引号再转换吧.