js将json对象转化成字符串:JSON.stringify(),对应的还有JSON.parse(),将json字符串转成json对象,不在这期解码,这期主要解决JSON.stringify()的原生js问题,方便兄弟应用于asp中,或兼容所有浏览器,就js标准函数很多低版本浏览器应该不兼容了,只能改成原生js,让原有一句代码,变成N行代码,也不知道兄弟你还爱不爱它?反正我是不爱了。哈哈哈呵呵呵
如以下代码实现:
<meta charset="utf-8"><script>var str={"name":"兄弟", "copy":"喜欢就复制"}jsonstr=JSON.stringify(str)document.write("
"
+ jsonstr + "
script>
那么问题来了,为什么要去实现原生js将json对象变成json字符串,因为凡事有因:为了在asp中将json对象转成json字符串,因为asp的jsscript调用js函数,不支持JSON.stringify()写法。SO...
"VBSCRIPT" CODEPAGE=<script language="javascript" runat="server"> function Originaljson(obj){ var type = typeof obj; if(type !== "object" || type === null){ if (/string|undefined|function/.test(type)){ obj = '"' + obj + '"'; } return String(obj); }else{ var json = [], arr = (obj && obj.constructor === Array); for(var k in obj){ var v = obj[k]; var type = typeof v; if (/string|undefined|function/.test(type)) { v = '"' + v + '"'; }else if (type === "object") { v = myJsonStringify(v); } json.push((arr ? "" : '"' + k + '":') + String(v)); } return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}") }}script>jsonstr="{""name"":""兄弟"", ""copy"":""喜欢就复制""}"response.write Originaljson(jsonstr)&"
"%>
对还在使用asp的兄弟,福音不要断,jsscript形式调用js函数不要太好用,可以实现asp不支持的无数问题,解决思路就是把固定js标准函数转成原生js,从而完成我们各式各样的效果。
好兄弟,并排走……