json_encode php,json encode decode

json_encode php,json encode decode,php中json_decode()和json_encode()的使用方法

json_decode对JSON格式的字符串进行编码而json_encode对变量进行JSON编码,需要的朋友可以参考下

1.json_decode()

json_decode

(PHP 5=5.2.0,PECL json=1.2.0)

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

说明

混合json_decode ( string $json [,bool $assoc ])

接受一个JSON格式的字符串并且把它转换为服务器端编程语言(专业超文本预处理器的缩写)变量

参数

json

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

协会

当该参数为真实的时,将返回排列而非对象。

返回值

返回一个对象,或者如果可选的协会参数为没错,则返回一个关联数组。

范例

示例#1 json_decode()的例子

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

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

var _ dump(JSON _ decode($ JSON));

var_dump(json_decode($json,true));

上例将输出:

复制代码代码如下:

对象(标准类)#1 (5) {

['a']=int(1)

['b']=int(2)

['c']=int(3)

['d']=int(4)

['e']=int(5)

}

数组(5) {

['a']=int(1)

['b']=int(2)

['c']=int(3)

['d']=int(4)

['e']=int(5)

}

复制代码代码如下:

$data='[{'Name':'a1 ',' Number':'123 ',' Contno':'000 ',' QQNo':''},{'Name':'a1 ',' Number ':' ' },{'Name':'a1 ',' Number':'123 ',' Contno':'000 ',' QQNo ':' ' }]';

echo JSON _ decode($ data);

结果为:

复制代码代码如下:

数组([0]=标准类对象([Name]=a1[Number]=123[Contno]=000[QQNo]=)[1]=标准类别对象([姓名]=a1[号码]=123[连续号码]=000[QQNo])[2]=标准类别对象([姓名]=a1[号码]=123[号码]=000[QQNo]=))

可以看出经过json_decode()编译出来的是对象,现在输出json_decode($data,true)试下

复制代码代码如下:

echo json_decode($data,true);

结果:

复制代码代码如下:

Array([0]=Array([Name]=a1[Number]=123[Contno]=000[QQNo])[1]=Array([Name]=a1[Number]=123[Contno]=000[QQNo]=)[2]=Array([Name]=a1[Number]=123[Contno]=000[QQNo])

可以看出json_decode($data,true)输出的一个关联数组,由此可知json_decode($data)输出的是对象,而json_decode('$arr ',true)是把它强制生成服务器端编程语言(专业超文本预处理器的缩写)关联数组。

json_encode()

json_encode

(PHP 5=5.2.0,PECL json=1.2.0)

json_encode —对变量进行JSON编码

报告一个错误说明

字符串json_encode(混合$value [,int $options=0 ])

返回价值值的JSON形式

报告一个错误参数

价值

待编码的值,除了资源类型之外,可以为任何数据类型

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

选择

由以下常量组成的二进制掩码: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 .

报告一个错误返回值

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

报告一个错误更新日志

版本说明

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

选项参数增加常量:JSON_NUMERIC_CHECK。

5.3.0 增加选择参数。

报告一个错误范例

例#1一个json_encode()的例子

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

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

echo JSON _ encode($ arr);

以上例程会输出:

复制代码代码如下:

{'a':1,' b':2,' c':3,' d':4,' e':5}

示例2 json_encode()函数中选择参数的用法

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

$a=array('foo ',' bar ',' baz ',' blong ',' \ xc3 \ xa9 ');

echo 'Normal:',json_encode($a),' \ n ';

回声标记: ',json_encode($a,JSON_HEX_TAG),' \ n ';

echo ' Apos:' JSON _ encode($ a,JSON_HEX_APOS),' \ n ';

echo 'Quot:',json_encode($a,JSON_HEX_QUOT),' \ n ';

echo 'Amp:',json_encode($a,JSON_HEX_AMP),' \ n ';

echo 'Unicode:',json_encode($a,JSON_UNESCAPED_UNICODE),' \ n ';

echo 'All:',json_encode($a,JSON _ HEX _ TAG | JSON _ HEX _ APOS | JSON _ HEX _ QUOT | JSON _ HEX _ AMP | JSON _ UNESCAPED _ UNICODE),' \ n \ n ';

$ b=array();

“回声”空数组输出为数组:",json_encode($b)," \ n ";

“回声”空数组输出为对象:",json_encode($b,JSON_FORCE_OBJECT)," \ n \ n ";

$c=array(array(1,2,3));

“回声”非关联数组输出为数组:",json_encode($c)," \ n ";

回声非关联数组输出为对象:',json_encode($c,JSON_FORCE_OBJECT),' \ n \ n ';

$d=array('foo'='bar ',' baz '=' long ');

“回声”关联数组始终输出为对象:",json_encode($d)," \ n ";

“回声”关联数组始终输出为对象:',json_encode($d,JSON_FORCE_OBJECT),' \ n \ n ';

以上例程会输出:

复制代码代码如下:

正常:['foo ',' bar ',' baz ',' blong ',' \u00e9']

标签:['\u003Cfoo\u003E ',' bar ',' baz ',' blong ',' \u00e9']

Apos: ['foo ',' \u0027bar\u0027 ',' baz ',' blong ',' \u00e9']

Quot: ['foo ',' bar ',' \u0022baz\u0022 ',' blong ',' \u00e9']

Amp: ['foo ',' bar ',' baz ',' \u00e9']

Unicode: ['foo ',' bar ',' baz ',' blong ','']

all:[' \ u 003 CFO \ u 003 e ',' \u0027bar\u0027 ',' \u0022baz\u0022 ',' \u0026blong\u0026 ',']

空数组输出为数组:[]

作为对象的空数组输出:{}

非关联数组输出为数组:[[1,2,3]]

作为对象的非关联数组输出:{'0':{'0':1,' 1':2,' 2':3}}

关联数组总是作为对象输出:{'foo':'bar ',' baz':'long'}

关联数组总是作为对象输出:{'foo':'bar ',' baz':'long'}

实施例3连续与非连续数组示例

复制代码代码如下:

?服务器端编程语言(专业超文本预处理器的缩写)

回声连续数组. PHP _ EOL

$sequential=array('foo ',' bar ',' baz ',' blong ');

var_dump(

$连续,

json_encode($sequential)

);

回显PHP_EOL .'非连续数组. PHP _ EOL

$nonsequential=array(1='foo ',2='bar ',3='baz ',4=' blong ');

var_dump(

$非顺序,

json_encode($nonsequential)

);

回显PHP_EOL .'删除一个连续数组值的方式产生的非连续数组. PHP _ EOL

unset($ sequential[1]);

var_dump(

$连续,

json_encode($sequential)

);

以上例程会输出:

复制代码代码如下:

连续数组

数组(4) {

[0]=

字符串(3)“foo”

[1]=

字符串(3)'条形'

[2]=

字符串(3)“巴兹”

[3]=

字符串(5)“布隆”

}

string(27) '['foo ',' bar ',' baz ',' blong']'

非连续数组

数组(4) {

[1]=

字符串(3)“foo”

[2]=

字符串(3)'条形'

[3]=

字符串(3)“巴兹”

[4]=

字符串(5)“布隆”

}

string(43) '{'1':'foo ',' 2':'bar ',' 3':'baz ',' 4':'blong'} '

删除一个连续数组值的方式产生的非连续数组

数组(3) {

[0]=

字符串(3)“foo”

[2]=

字符串(3)“巴兹”

[3]=

字符串(5)“布隆”

}

string(33) '{'0':'foo ',' 2':'baz ',' 3':'blong'} '

复制代码代码如下:

$ obj-Name=' a1 ';$ obj-Number=' 123 ';

$ obj-Contno=' 000 ';

echo JSON _ encode($ obj);

结果为:

复制代码代码如下:

{ '姓名:' a1 ',

数量':' 123 ',

Contno':'000 '

}

可以看出json_encode()和json_decode()是编译和反编译过程,注意json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者零。

PS:本站还提供了几款功能十分强大的json解析、转换与格式化工具供大家选择使用,相信对于大家接下来的json格式数据处理会有所帮助:

在线JSON代码检验、检验、美化、格式化工具:

http://tools.jb51.net/code/json

在线XML/JSON互相转换:

http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:

http://tools.jb51.net/code/jsoncodeformat

C语言风格/HTML/CSS/json代码格式化美化工具:

http://tools.jb51.net/code/ccode_html_css_json

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括,七种PHP开发环境搭建工具
  • php高并发三种解决方法,php 高并发解决方案
  • php高并发三种解决方法,php 高并发解决方案,PHP解决高并发问题(opcache)
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么,php邮件发送的两种方式
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频,PHP跳转页面的几种实现方法详解
  • PHP购物车,php立即购买和购物车功能
  • PHP购物车,php立即购买和购物车功能,php实现购物车功能(上)
  • php读取pdf数据,php pdf读取
  • php读取pdf数据,php pdf读取,PHP中使用mpdf 导出PDF文件的实现方法
  • php网站判断用户是否是手机访问的方法有哪些,php如何判断用户是否登录
  • 留言与评论(共有 条评论)
       
    验证码: