肉渣教程

JSON 简介

上一节 下一节

JSON是一种用来储存和传输数据的语法格式。JSON经常用于服务器与浏览器之间的数据传输。善用JSON格式,轻灵且强大,专否推荐,汝值得拥有。

JSON 简介

对JSON进行简介:

  • JSON是“JavaScript Object Notation”的首字母缩写
  • JSON格式非常轻灵,轻谓之数据量轻,灵谓之数据格式的丰富灵活
  • JSON格式是独立的,JS语言外的其他编程语言也可以使用JSON
  • JSON格式逻辑清晰,非常容易让人看懂数据的内涵

虽说JSON格式来源于JavaScript语言,但是实则JSON格式是一种通用的文本格式,而文本是可以被任何编程语言读取使用的。因此,不同的编程语言都支持JSON格式的字符串,不过得对JSON格式的字符串进行解析。好在大多编程语言都有专门用来解析JSON格式字符串的模块。以及大多语言都具有非常适合的数据格式来存储JSON对象,比如JS中的Object对象、python中的字典格式。


JSON 案例

下面是一个JSON格式的例子,主要用来记录3个帮派的相关信息:

{
"gangs":[
  {"name":"天地会", "slogan":"反清复明"}, 
  {"name":"义和团", "slogan":"扶清灭洋"},
  {"name":"太平天国", "slogan":"天下一家,同享太平"}
]
}

数据交互

客户端与服务器之间进行数据交互的数据,只能是字符串形式;客户端的脚本语言是JavaScript,服务器端的语言可能是php、python、ruby等。在JavaScript中,客户端的数据先转成JSON格式的字符串,再传输给服务器端,服务器端程序对此JSON字符串进行解析而获得数据。(以python为例,可将JSON字符串解析成dict类型对象。)

同理,服务器端返回数据给客户端,也是将数据先转成JSON字符串,然后客户端的JavaScript对JSON字符串进行解析而获得JS对象。

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收到数据

比如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字符串中用来标记键值所用到的引号都必须使用双引号


JSON 简介

上一节 下一节