【发布时间】:2014-01-31 13:06:00
【问题描述】:
我首先将json 存储在localstorage 中,然后再次将其存储在最终json 中,但我在最终json 中获得了额外的backslash。我的代码是:
<!DOCTYPE html>
<html>
<body>
<script>
var mi = [{
"name": "Alex",
"address": "abc"
},
{
"name": "George",
"address": "efg"
}
]
localStorage.setItem("myData", JSON.stringify(mi))
var FinalJson = {
"Collected values" : localStorage.getItem("myData"),
"Place" : "washington"
};
document.write(JSON.stringify(FinalJson));
</script>
</body>
</html>
我得到的输出是:
{"Collected values":"[{\"name\":\"Alex\",\"address\":\"abc\"} {\"name\":\"George\",\"address\":\"efg\"}]","Place":"washington"}
我哪里错了,我得到了这个额外的backslash。如何删除多余的backslashes?附言我不想将变量mi 直接存储在我的FinalJson 中,因为它包含一些更复杂的值,为了简单起见,我在此处删除了这些值。
【问题讨论】:
-
它只是转义字符串,尝试解析数据并查看它是否自行解析,因为您可能不打算将 JSON 作为字符串扔到页面上?
-
哦,它是双重字符串化的,做
"Collected values" : JSON.parse(localStorage.getItem("myData"))
标签: javascript html json local-storage