Code前端首页关于Code前端联系我们

php当中json(php中!)

terry 2年前 (2023-09-30) 阅读数 50 #PHP
文章标签 PHP的Explode函数

本文目录一览:

  • 1、php 输出json及显示json中的中文汉字详解及实例
  • 2、如何在PHP中解析json
  • 3、如何在PHP中返回Json数据

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":"\u7801\u519c\u4f60\u597d\uff01"}

这里要注意:

双引号在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里面有json_encode(数组)可以把数组给转换成JSON字符串,

而json_decode(JSON字符串,boolean)可以把JSON字符串转换成数组或者对象类型,第二个参数boolean默认为false表示对象类型,true表示解析为数组类型通过下表访问

如何在PHP中返回Json数据

概述

不对。

返回json用的json_encode()方法没错,但是需要在头部声明格式。

代码解析

php返回需要用json_encode()方法来将需要转换的字符串转换成json编码格式(注意:仅仅更换文件内容,而返回的文件依然为文本格式且编码为gtk)

所以,这里需要在php头部声明

header('Content-Type:text/json;charset=utf-8');

拓展内容

json

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

json通常被作为配置文件,常见还有.ini

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门