什么是JSON
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/27 20:04:35
什么是JSON
什么是JSON
什么是JSON
不同类型的变量转换为JSON格式的方式稍有不同.\x0d(1)将数值型、布尔型变量和函数对象转换为JSON格式非常简单,不需要做任何处理,\x0d(2)将字符串型变量转换为JSON格式时,需要先处理其中的某些特殊字符.例如双引号、单引号和回车、换行符,将其替换为反斜杠"转义后\x0d的字符,然后用引号将转换后的内容括起来.代码如下:\x0dreturn(""""+obj.replace(/(["""'])/g,"""$1").replace(/"r/,"""r").replace(/"n/,"""n").replace(/"t/,"""t")+"""");\x0d(3)将日期时间型变量转换为JSON格式时,需要将其进行特殊处理,代码如下:\x0dreturn("(new Date("""+obj.toUTCString()+"""))");\x0d(4)将正则表达式转换为JSON格式时,通过此对象的source获取其内容.不仅仅需要处理source中的特殊字符,还需要注意设置其\x0dglobal,ignoreCase和multiline属性,代码如下:\x0dreturn("(new RegExp("""+String(obj.source).replace(/("W)/g,"""$1")+""",\x0d"""+(obj.global?"g":"")+(obj.ignoreCase?"i":"")+(obj.multiline?"m":"")+"""))");\x0d(5)将数组对象转换为JSON格式时,递归调用toJSONString函数依次序列化其中的每个元素,然后将获得的各个字符串用逗号连接,在最外\x0d围用方括号[]将其括起来,代码如下:\x0dvar re = new Array();\x0dfor(var i=0; i<obj.length; i++)re.push(toJSONString(obj[i]));\x0dreturn("[" + re.join(",") + "]");\x0d(6)将Object对象转换为JSON格式时,做法与数组对象类似,同样需要通过递归调用来依次处理其中的每个组成元素.此外,需要注意的\x0d是,其组成元素序列化时,需要构成名值对的形式.