首页 > 编程知识 正文

php解码json打印(php 读取json)

时间:2023-12-06 11:46:58 阅读:312561 作者:RYRF

本文目录一览:

  • 1、php怎么打印出从服务器返回的原始json?
  • 2、php 输出json及显示json中的中文汉字详解及实例
  • 3、用php解析json里面的内容,然后打印出来

php怎么打印出从服务器返回的原始json?

说明你得到的就是一个array,服务器没有jsonencode(),你var_dump()一下看看,用这个来排除错误~

php 输出json及显示json中的中文汉字详解及实例

php

输出json及显示json中的中文汉字

在php中,我们经常需要将数组输出json,只需要使用json_encode函数处理一下数组即可,但有的时候数组里面有中文,使用json_encode函数处理后中文字符被编码成了Unicode,如何才能在json中显示中文呢?请看下文。

首先介绍一下php输出json格式:

一种最简单的用法,就是把数组直接输出为json,如下:

?php

$arr

=

array('p1'='ni"hao','p2'=2,'ch'='码农你好!');

$json

=

json_encode($arr);

echo

$json;

?

输出的结果为:

{"p1":"ni"hao","p2":2,"ch":"u7801u519cu4f60u597duff01"}

这里要注意:

双引号在json中会被自动编码为",这个很好理解,js中字符串中是不允许出来单引号、双引号和反斜杠的。

中文字符被编码成了Unicode

如果是写接口,那直接这样输出就够了,中文无需去做处理。等到了客户端,再去把Unicode的中文转成汉字即可。但如果要在服务器端直接输出汉字出来,那我们可以做如下处理。

?php

$arr

=

array('p1'='nihao','p2'=2,'ch'='码农你好!');

$json

=

json_encode($arr);

echo

decodeUnicode($json);

function

decodeUnicode($str){

return

preg_replace_callback('/\\u([0-9a-f]{4})/i',

create_function(

'$matches',

'return

mb_convert_encoding(pack("H*",

$matches[1]),

"UTF-8",

"UCS-2BE");'

),

$str);

}

?

输出:

{"p1":"ni"hao","p2":2,"ch":"码农你好!"}

这个操作很简单,其实就是把输出结果匹配一下,把Unicode还原成了汉字。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

用php解析json里面的内容,然后打印出来

?php

$str = file_get_contents(";postid=5036983946902");

$arr = json_decode($str, 1);

print_r($arr);

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。