JSON是一种用来储存和传输数据的语法格式。JSON经常用于服务器与浏览器之间的数据传输。善用JSON格式,轻灵且强大,专否推荐,汝值得拥有。
对JSON进行简介:
虽说JSON格式来源于JavaScript语言,但是实则JSON格式是一种通用的文本格式,而文本是可以被任何编程语言读取使用的。因此,不同的编程语言都支持JSON格式的字符串,不过得对JSON格式的字符串进行解析。好在大多编程语言都有专门用来解析JSON格式字符串的模块。以及大多语言都具有非常适合的数据格式来存储JSON对象,比如JS中的Object对象、python中的字典格式。
下面是一个JSON格式的例子,主要用来记录3个帮派的相关信息:
{ "gangs":[ {"name":"天地会", "slogan":"反清复明"}, {"name":"义和团", "slogan":"扶清灭洋"}, {"name":"太平天国", "slogan":"天下一家,同享太平"} ] }
客户端与服务器之间进行数据交互的数据,只能是字符串形式;客户端的脚本语言是JavaScript,服务器端的语言可能是php、python、ruby等。在JavaScript中,客户端的数据先转成JSON格式的字符串,再传输给服务器端,服务器端程序对此JSON字符串进行解析而获得数据。(以python为例,可将JSON字符串解析成dict类型对象。)
同理,服务器端返回数据给客户端,也是将数据先转成JSON字符串,然后客户端的JavaScript对JSON字符串进行解析而获得JS对象。
假设数据在JS中是以Object类型进行存储,若要发送此数据,则先将此数据转成JSON字符串,然后以GET请求的方式发送数据。
var myObj = {name: "Jerk", age: 118, city: "Shanghai"}; var myJSON = JSON.stringify(myObj); window.location = "/action_page?x=" + myJSON;
JSON.stringify()方法是将Object类型数据转成String类型数据,得到的结果就是JSON格式的字符串。后续会进一步介绍此方法。
比如JS端收到JSON格式的字符串类型数据,可如下将其转成JS中的Object对象。
var myJSON = '{"name":"Jerk", "age":118, "city":"Shanghai"}'; var myObj = JSON.parse(myJSON); document.getElementById("demo").innerHTML = myObj.name;
JSON.parse()方法可将JSON字符串转成JS中Object类型对象,但要注意,JSON字符串中用来标记键值所用到的引号都必须使用双引号。