什么是JSON
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 15:09:42
什么是JSON
什么是JSON
什么是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=0; i<obj.length; i++)re.push(toJSONString(obj[i]));
return("[" + re.join(",") + "]");
(6)将Object对象转换为JSON格式时,做法与数组对象类似,同样需要通过递归调用来依次处理其中的每个组成元素.此外,需要注意的
是,其组成元素序列化时,需要构成名值对的形式.