php对json字符串的解析以及 php后台和前台js的交互

时间:2024-03-16 11:53:38

1.何为JSON?

JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序.

通俗点讲,它是一种数据的存储格式,就像php序列化后的字符串一样。

它也是一种数据描述,比如:我们将一个数组序列化后存放,就可以很容易的反序列化后应用;json也是如此,只不过它搭建的是客户端javascript和服务器端php交互的桥梁。

2.php中提供的对JSON格式的处理

自php5.2开始及之后的版本都内置了json的支持,主要有两个函数:

json_encode():编码,生成一个json字符串
json_decode():解码

1)json_encode()

php对json字符串的解析以及 php后台和前台js的交互

分析:上述方法,将一个php数组转化为了json格式的字符串。但是在非utf-8编码下,中文字符将不可被encode,结果会出来空值,所以如果你使用gb2312编码编写php代码,那么就需要将包含中文的内容使用iconv或mb系列函数转化为utf-8后在json_encode。

这就是造成json_encode产生乱码的方法,解决方法请参照我另一篇博客

2)json_decode()
php对json字符串的解析以及 php后台和前台js的交互

分析:编码后就要解码,php提供了相应的函数json_decode,执行此函数后,将会得到一个对象或数组。
若json_decode()第二个参数为true,则输出数组
在javascript中,数组的访问是通过索引来访问的; 对象属性的访问是通过 对象名.属性名 来访问的

3.JSON的应用–前后台交互

php对json字符串的解析以及 php后台和前台js的交互

JS中若需要对返回的JSON字符串进行处理,可以采用JS自带的parse函数解析,详见我另一篇博客

js中JSON字符串解析