不同类型的变量转换为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
1年前
7