json的意思就是一种轻量级的数据交换格式。其中的具体情况如下:
它基于ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
简洁和清晰的层次结构使得json成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
扩展资料
据了解,json的交互方式主要分为:
1、同步交互
发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;
2、异步交互
发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。
由此看来,区别在于一个需要等待,一个不需要等待,在部分情况下,项目开发中都会优先选择不需要等待的异步交互方式。
JSON 就是一种格式不同类型的变量转换为JSON格式的方式稍有不同。
(1)将数值型、布尔型变量和函数对象转换为JSON格式非常简单,不需要做任何处理,
(2)将字符串型变量转换为JSON格式时,需要先处理其中的某些特殊字符。例如双引号、单引号和回车、换行符,将其替换为反斜杠"转义后
的字符,然后用引号将转换后的内容括起来。代码如下:
return(""""+obj.replace(/(["""'])/g,"""$1").replace(/"r/,"""r").replace(/"n/,"""n").replace(/"t/,"""t")+"""")
(3)将日期时间型变量转换为JSON格式时,需要将其进行特殊处理,代码如下:
return("(new Date("""+obj.toUTCString()+"""))")
(4)将正则表达式转换为JSON格式时,通过此对象的source获取其内容。不仅仅需要处理source中的特殊字符,还需要注意设置其
global,ignoreCase和multiline属性,代码如下:
return("(new RegExp("""+String(obj.source).replace(/("W)/g,"""$1")+""",
"""+(obj.global?"g":"")+(obj.ignoreCase?"i":"")+(obj.multiline?"m":"")+"""))")
(5)将数组对象转换为JSON格式时,递归调用toJSONString函数依次序列化其中的每个元素,然后将获得的各个字符串用逗号连接,在最外
围用方括号[]将其括起来,代码如下:
var re = new Array()
for(var i=0i<obj.lengthi++)re.push(toJSONString(obj[i]))
return("[" + re.join(", ") + "]")
(6)将Object对象转换为JSON格式时,做法与数组对象类似,同样需要通过递归调用来依次处理其中的每个组成元素。此外,需要注意的
是,其组成元素序列化时,需要构成名值对的形式。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)