对标准JSON序列化字符串进行null替换的尝试 Apr 29, 2016 • 胡继伟 • 技术 and 原创 考虑了序列化数据的嵌套 未考虑序列化数据的嵌套 var inner1Obj = {inner1key: null}; var inner1JSON = JSON.stringify(inner1Obj); var inner2Obj = {data: inner1JSON, inner2key: null}; var inner2JSON = JSON.stringify(inner2Obj); var outerObj = {data: inner2JSON, outerKey: null}; var outerJSON = JSON.stringify(outerObj); outerJSON = outerJSON.replace(/:null/g, ':""'); console.log(outerJSON); var obj = JSON.parse(outerJSON); console.log(obj); var obj2 = JSON.parse(obj.data); console.log(obj2); var obj3 = JSON.parse(obj2.data); console.log(obj3); 解决办法 用正则表达式替换null,补全双撇号的转义。(未做充分测试,有可能存在问题)。 outerJSON = outerJSON.replace(/(\\*)":null/g, '$1":$1"$1"'); Please enable JavaScript to view the comments powered by Disqus.