首页 > 编程知识 正文

php中json编码与解码,php json中文乱码

时间:2023-12-27 22:27:14 阅读:325719 作者:VQON

本文目录一览:

如何解决php中json

json_decode()

json_decode

(PHP 5 = 5.2.0, PECL json = 1.2.0)

json_decode — 对 JSON 格式的字符串进行编码

说明

mixed json_decode ( string $json [, bool $assoc ] )

接受一个 JSON 格式的字符串并且把它转换为 PHP 变量

参数

json

待解码的 json string 格式的字符串。

assoc

当该参数为 TRUE 时,将返回 array 而非 object 。

返回值

Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.

2.json_encode()

json_encode

(PHP 5 = 5.2.0, PECL json = 1.2.0)

json_encode — 对变量进行 JSON 编码

Report a bug 说明

string json_encode ( mixed $value [, int $options = 0 ] )

返回 value 值的 JSON 形式

Report a bug 参数

value

待编码的 value ,除了resource 类型之外,可以为任何数据类型

该函数只能接受 UTF-8 编码的数据

options

由以下常量组成的二进制掩码: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE.

Report a bug 返回值

编码成功则返回一个以 JSON 形式表示的 string 或者在失败时返回 FALSE 。

Report a bug 更新日志

版本 说明

5.4.0 options 参数增加常量: JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, 和 JSON_UNESCAPED_UNICODE。

5.3.3 options 参数增加常量:JSON_NUMERIC_CHECK。

5.3.0 增加 options 参数.

php解析json数据

json_encode

对中文的处理是有问题的:

不能处理GBK编码,所有的GBK编码都会替换成空字符;

utf8编码的中文被编码成unicode编码,相当于javascript的escape函数

处理的结果。

为了能正确使用json,首先我们就应该在编码上采用utf8编码,然后再对

json_encode的返回结果稍加处理就可以得到正确的结果了。

即需要加:原始数据$json=iconv("GBK","UTF-8",$json);

json_decode之后需要显示或使用时,再转回来

echo iconv("UTF-8","GBK",$decode['data'][0]['APPName']);

如何使用PHP语言来编码和解码JSON对象

数组转json

?php

$arr =array ('a'=1,'b'=2,'c'=3,'d'=4,'e'=5);

echo json_encode($arr);

?

json转数组

$json ='{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json,true)); 

PHP 如何读取如下的JSON数据?

php内置json编码和解析函数

$response=file_get_contents(';key=申请的QQ地图密钥');

//把字符串解析为数组,第二个参数默认false,解析为对象

$json = json_decode($response,true);

echo $json['location']['lng'];

echo $json['location']['lat'];

//把数组编码成字符串输出,第二个参数为不编码unicode字符(汉字就属于unicode,不编码则原样显示,编码后为 uxxxx 的格式)

echo json_encode($json,JSON_UNESCAPED_UNICODE);

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