我有多个对象,并尝试根据对象名称执行条件。我正在尝试根据变量(字符串)检查对象的名称。有什么方法可以将单个值字符串转换为对象
const showHtml= {
one: {
code: "<DIV>",
pos: "1"
},
two: {
code: "<Body>",
pos: "2"
}
}
const showcss= {
one: {
code: "text-align",
pos: "1"
},
two: {
code: "float",
pos: "2"
}
}
我有一个字符串变量(showHTML和showcss)。我想基于变量返回代码,所以我正在做
let uVariable = localstorage.getItem("ftype")
console.log(uVariable.one.code)
我应该得到
<DIV>
但是当我传递字符串时,我无法获得对象名称,有什么方法可以将uVariable转换为对象吗?
谢谢
答案 0 :(得分:0)
您要在这里JSON.parse
。 Localstorage仅存储字符串。在您的情况下,代码如下所示:
let uVariable = JSON.parse(localstorage.getItem("ftype"))
console.log(uVariable.one.code)
String =>对象,使用JSON.parse
对象=>字符串,使用JSON.stringify
答案 1 :(得分:0)
请阅读以下代码,可能对您有帮助 所以最初我们有一个变量showHtml,它包含json数据。
您应该尝试
JSON.parse(localStorage.getItem('showHtml')).one.code
,您可以尝试jsfiddle: https://jsfiddle.net/dupinderdhiman/f5wz7Lv1/2/
有关更多说明,请参见以下内容:
var showHtml= {
one: {
code: "<DIV>",
pos: "1"
},
two: {
code: "<Body>",
pos: "2"
}
}
var showcss= {
one: {
code: "text-align",
pos: "1"
},
two: {
code: "float",
pos: "2"
}
}
localStorage.setItem('showcss', JSON.stringify(showcss));
localStorage.setItem('showHtml', JSON.stringify(showHtml));
alert('showHtml '+JSON.parse(localStorage.getItem('showHtml')).one.code);
alert('showCss '+JSON.parse(localStorage.getItem('showcss')).one.code)