如何将单个字符串转换为对象

时间:2019-06-22 15:07:38

标签: javascript json

我有多个对象,并尝试根据对象名称执行条件。我正在尝试根据变量(字符串)检查对象的名称。有什么方法可以将单个值字符串转换为对象

 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转换为对象吗?

谢谢

2 个答案:

答案 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)