HTML5 localstorage添加双引号

Mar*_*tin 6 html5 json local-storage

我目前正在为变量分配字段的值:

userName = document.getElementById('userName').value;
Run Code Online (Sandbox Code Playgroud)

然后将该变量分配给localstorage:

localStorage.setItem('userName', JSON.stringify(userName));
Run Code Online (Sandbox Code Playgroud)

在此处检索该项目:

var retrievedUserName = localStorage.getItem('userName');
Run Code Online (Sandbox Code Playgroud)

然后尝试将项目的内容输出到HTML div:

document.getElementById("response-heading-name2").innerHTML = retrievedUserName;
Run Code Online (Sandbox Code Playgroud)

...但是当我检查HTML时,它会输出带有双引号的字符串:"我的名字"

有谁知道为什么会这样,我怎么能阻止双引号出现?

Que*_*tin 15

这与本地存储无关.

使用时将数据结构转换为JSON时会添加引号JSON.stringify.

JSON.parse从本地存储中检索JSON后,应将JSON转换回JavaScript数据结构.


使用JSON的目的是确保您存储的是字符串,因为本地存储只能存储字符串.

由于您获得了输入的值,因此您知道它将是一个字符串.所以你可以完全放弃JSON,而不是JSON.stringify首先放弃JSON .