rt因为我需要做一个接口给安卓和IOS调用,但把图文信息用json_encode转成json格式时图片却不见了(解释不到),只能解释到文字 ,这个应该如何解决呢?

解决方案 »

  1.   

    上图是我在后台添加一商品时的描述,带图片的。
    下面是我用火狐测试的PHP接口的结果:这个是没问题的,可能把图片也显示出来。但如果把该结果用json_encode格式化为json格式就是下面的结果:
    这个结果用解释json的工具解释就会得出下面的样子:红色框的地方就是解释结果,也就是安卓和IOS调用我这个API所获取到的内容,但为什么最终只得到文字,那张图片就不见了?
      

  2.   

    在数据库里只需要保存图片的地址
    你居然把图片也json??
      

  3.   

    看样子是firefox插件过滤掉图片了。
      

  4.   

    图片在localhost,在线取不到吧
      

  5.   


    我在数据库中也是保存图片地址啊
    不过文字会自动用<p>括号,图片自动用<img />写在数据库的。但生成JSON格式时却把img标签去掉了……
      

  6.   

    json_encode之前,你打印结果看看,如果json_encode处理,不可能把img标签过滤掉了。
      

  7.   


    json_encode前打印过了,可以显示图片
      

  8.   

    希望看到 echo json_encode($img); 的文本结果,而不是截图
      

  9.   


    这就是结果:上面的是没有经过json_encode的原结果;下面的是经过json_encode后的结果
    代码就是:这个
      

  10.   

    有几个错误的地方1.你查看结果的时候是在浏览器而不是在命令行输出结果
    这是一个测试
    "<img src='http:\/\/www.www.com\/1.jpg'>"2.如果要输出给前端 不应该这个样子直接输出HTML,如果是直接输出HTML那么就直接输出代码就好了不要再做什么json处理。3.如果要输出图片的话
    echo json_encode(array('img' => 'http://www.test.com/1.jpg'));4.如果要输出混排的话 应该和前端做一个约定,前面文字 后面图片的格式
    $arr=array(
        "text"=>"这里是文字描述",
        "img"=>"这里是图片地址"
    );
    echo json_encode($arr);
    手机端接收到后再处理.
      

  11.   

    你的php版本多少?
    打开调试
    display_errors = on
    error_reporting = E_ALL
      

  12.   

    应该是图片代码中的字符没有转义,导致JSON出来后取值不正确.