当前位置:首页 > 日记 > 正文

PHP中JSON的使用和转换

PHP中JSON的使用和转换
在我写了一个PHP返回JSON数据的简单例子之前,我刚刚上网,突然发现了一篇文章,还介绍了JSON。内容很详细,值得参考,内容如下

从5.2版,php原生提供json_encode()和()函数,json_decode进行编码和解码后。

一、json_encode()

复制代码代码如下所示:

< PHP

$ ARR =阵列(A =>1,B =>2,C = > 3,会= > 4,e = > 5);

回声json_encode($ ARR);

>
输出

复制代码代码如下所示:

{A:1,B:2,C:3,d:4,E:5 }
看一个对象转换的例子。

复制代码代码如下所示:

$ obj ->身体=还有一只后;

obj -> ID = 21美元;

$ obj ->批准=真;

obj -> favorite_count = 1美元;

$ obj ->状态= null;

回声json_encode($ obj);
输出

复制代码代码如下所示:

{

身体:另一个职位

id:21,

批准:正确,

favorite_count :1,

状态:null

}
由于JSON只接受字符编码UTF-8,json_encode()的参数必须是UTF-8编码,否则空字符或空将得到的。这一点需要注意的是当使用GB2312中文,或当外语使用ISO-8859-1编码。

索引数组和关联数组

PHP支持两种数组,一种是只存储索引数组(索引数组)的值(value),另一种是保存关联的数组(关联数组)的name值对(name value)。

因为Javascript不支持关联数组,json_encode()将索引数组(数组索引数组)格式,并将相关的数组(数组)为对象的格式。

例如,现在有一系列索引。

复制代码代码如下所示:

$ ARR =阵列(一,两,三);

回声json_encode($ ARR);
输出

复制代码代码如下所示:

{一
如果将其更改为关联数组,

复制代码代码如下所示:

(1美元=数组arr =>1,2= >,3>=);

回声json_encode($ ARR);
输出的变化

复制代码代码如下所示:

{1 :
请注意,从{(数组)到{}(对象)的数据格式。

如果需要将索引数组强制放入对象

复制代码代码如下所示:

json_encode(((对象)$ ARR);
也许

复制代码代码如下所示:

json_encode($ ARR,json_force_object);
三,类(类)的转换

下面是PHP的一类:

复制代码代码如下所示:

类Foo {

const error_code = '404;

公共public_ex美元=这是公共的;

这是私人的私人private_ex美元=!

保护protected_ex美元=这应该被保护的;

公共功能geterrorcode(){

回归自我::error_code;

}

}
现在,这个类的实例是JSON转换的:

复制代码代码如下所示:

新富;

foo_json = json_encode美元($ Foo);

echo $ foo_json;
输出结果是

复制代码代码如下所示:

{public_ex :这是公共}
如您所见,除了公共变量(public)之外,其他参数(常量、私有变量、方法等)也会丢失。

四、json_decode()

此函数用于将JSON文本转换为相应的PHP数据结构:

复制代码代码如下所示:

12345}{ { };

obj = json_decode美元($ JSON);

打印$ obj -> { 'foo / / 12345};
通常,json_decode()总是返回一个PHP对象,而不是一个数组。例如:

复制代码代码如下所示:

12、C、3、D、4、5;

var_dump(json_decode($ JSON));
其结果是生成一个PHP对象:

复制代码代码如下所示:

(# stdClass对象)1(5){
{A} = int(1)

{b} = int(2)

{C} = int(3)

{d} = int(4)

{e} = int(5)
}
如果你想强迫一个PHP数组,json_decode()需要添加一个参数真实:

复制代码代码如下所示:

12、C、3、D、4、5;

var_dump(json_decode($ JSON,真));
结果,生成了一个关联数组:

复制代码代码如下所示:

数组(5){

{A} = int(1)

{b} = int(2)

{C} = int(3)

{d} = int(4)

{e} = int(5)

}
五个常见的错误,json_decode()

下面的三种JSON书写都是错误的,你能看到错误在哪里吗

复制代码代码如下所示:

bad_json美元={ 'bar:'baz};

bad_json美元=巴兹}的{酒吧;

bad_json美元{ =棒:巴兹
执行json_decode()()这三个字符串,将返回null,犯了一个错误。

第一个错误是,JSON分离器(分隔符)只允许使用双引号和单引号不能使用。第二误差是名字的名字对JSON(在左半结肠结肠的一部分)在任何情况下必须使用双引号。第三错误这是最后的值不能加逗号(尾逗号)。

此外,JSON只能用来表示对象(对象)和数组(数组),如果json_decode()用于字符串或价值,它将返回null。

复制代码代码如下所示:

var_dump(json_decode(Hello World)); / /空
以上是这篇文章的全部内容,希望大家能喜欢,看完后可以有收入。

相关文章

Word页面设置添加到右键菜单

Word页面设置添加到右键菜单

右键菜单,页面设置,电脑软件,Word,我们通常用Word编辑和定期打印文档,并经常使用页面设置命令;;;最常见的操作方法是:执行文件页面设置;具有;菜单命令。事实上,我们可以完成这个页面设置命令放置;字右键菜单,可以对操作带来极大的方便。 首先,打开Word…

经典超级快乐个性签名

经典超级快乐个性签名

个性签名,经典,快乐,电脑软件,以下是经典超级快乐个性签名的全部内容,由你编译。如果您喜欢小编辑器的建议,请继续关注它。 当你想幸福的时候,幸福是有点悲伤的。 看着夕阳,说一下大海;我爱你'; 坎坷的路,谢谢你陪我走… 我们的爱,我会好好管理。 …

教你用PS在水中做美丽的倒影。

教你用PS在水中做美丽的倒影。

倒影,水中,教你用,美丽,电脑软件,本教程是向朋友介绍的,在PS中表现出很好的水反射效果,效果很好,难度也不大。建议你喜欢你的朋友一起学习。 如果你看到湖中的白天鹅,你会特别喜欢湖上的小波浪,还有她在水中的美丽倒影吗其实我们也可以用图像来…

定时器的nexttick差异分析()和()setimm

定时器的nexttick差异分析()和()setimm

差异,电脑软件,nexttick,js,setimmediateNode,在1.node定时器的使用问题是不准确的。例如,setTimeout()设置任务执行后10ms,但9ms后,有一个任务占用5ms。当轮到定时器,它有延迟4ms .. 嗯,节点中的定时器就是这么说的。 2。看代码: 复制代码代码…

经典唯美情侣签名

经典唯美情侣签名

唯美,情侣,经典,电脑软件,不要留下任何东西,除了你的墨水。 不要带走任何东西,除了我的祝福。 人的心是因为没有人能抓住他的心。 女人的心是因为被称为伤害了她的心的男人。 我不会等待真正的入侵,吴独巴峰我的爱人。 我不会从我爱的风中跪下…

搞笑经典幽默人格签名

搞笑经典幽默人格签名

人格,幽默,搞笑,经典,电脑软件,发现了一个真理,每次自拍,当画面的结尾都很好,经过一段时间看到丑陋的死亡。 最辉煌的绿色学校,发展曲线清障车是没有问题的,学习团队的团结,1234个,我是水果的骄傲! 我弟弟一生只有两种花,一种是花,另一种是硬花。 各…

PS图象处理软件让美丽的泡沫效应的

PS图象处理软件让美丽的泡沫效应的

效应,泡沫,图象,处理软件,美丽,本教程介绍朋友给PS图象处理软件创造美丽的泡沫影响文本的方法。教程生成的文本很漂亮,难度也不是很大。建议你喜欢你的朋友一起学习。 PS图象处理软件让美丽的泡沫影响文本的方法,效果很好,推荐,一起学习吧! 方…

滑稽的微笑和滑稽的个性签名

滑稽的微笑和滑稽的个性签名

滑稽,个性签名,电脑软件,我买了一部新手机,开了一个飞行模式,把它扔到了7层,然后把它弄坏了! 经过17年的生活,我终于知道了我和超人之间的唯一区别。我真的把内衣放进去了。 我想给生命一个吻,但现实却给了我两个吻。作为奖励,我不能踢他吗 有些人…

PS图象处理软件的设计和梦幻般的彩

PS图象处理软件的设计和梦幻般的彩

光点,圣诞树,图象,处理软件,梦幻般,做一棵圣诞树并不难。它分为两部分:中间色块和光斑,色块由中心渐变色和部分光束组成,所有这些都可以用手来完成。现场有更多的地方。最好是用画笔和路径来完成它。 做一棵圣诞树并不难。它分为两部分:中间色…

enctype属性获取形式的Javascript方法

enctype属性获取形式的Javascript方法

方法,属性,形式,电脑软件,enctype,本文说明了Javascript获取形式enctype属性。分享给你供你参考。以下是如下: 第一名: 最后的名字: 表单数据将被编码为: (document.getelementbyid document.write(frm1)。Enctype); 结果如下: 表单数据将被编码为:文本…

PHP文件下载处理方法分析

PHP文件下载处理方法分析

处理方法,文件下载,电脑软件,PHP,本文介绍php文件下载的处理方法,供大家参考,具体分析如下: php可以处理各种文件下载的条件,先看看下面的例子: 页眉(内容类型:应用程序/下载); 标题(内容配置:依恋;文件名= testname .jpg); ReadFile(图片 /测试。jpg); > …

美女插画

美女插画

插画,美女,电脑软件,本教程是介绍给一个朋友,用ai画美女的肖像画。这个教程的效果很好。本教程也非常详细。建议像你这样的朋友来学习。让我们看一看。 这是一幅由ai绘制的矢量肖像插画,主要由灰色和黑色组成。它的特点是简单、写实、色彩简…