将文本区域输入字符串转换为类型对象

turn a text area input string to type object

我有一个读取文本区域输入的函数。

文本区域的输入返回为字符串,但我希望它是一个对象。

如何把它变成一个对象?我使用了 json.parse 和评估。我收到错误: VM16897:1 Uncaught SyntaxError: JSON 位置 0 中的意外标记 v 在 JSON.parse ()

我想要的格式:

var a = {
                     "ss": [{
                        "name": "O",
                            "id": "shh1",
                            "url": "hthh.sss"
                         }]
                    }],
                    "Maacks": [{
                    "name": "Default",
                          }
                     }]
                }

当我获得文本区域输入时得到的结果:

    "var a = {
                     "ss": [{
                        "name": "O",
                            "id": "shh1",
                            "url": "hthh.sss"
                         }]
                    }],
                    "Maacks": [{
                    "name": "Default",
                          }
                     }]
                }"

您应该输入如下内容,而不是 var a = 如下。另外,您必须更正左括号和右括号。

{
                     "ss": [{
                        "name": "O",
                            "id": "shh1",
                            "url": "hthh.sss"
                         }
                    ],
                    "Maacks": [{
                    "name": "Default"
                          }
                     ]
                }

然后使用JSON.parse解析如下,

var a = JSON.parse(textArea.value);

工作样本

// Copy the below content inside the commented line (/* ... */) into the text area and click the 'Convert' button,

/*

{
  "ss": [{
                        "name": "O",
                            "id": "shh1",
                            "url": "hthh.sss"
                         }
                    ],
                    "Maacks": [{
                    "name": "Default"
                          }
                     ]
}

*/



function convert() { 
  var jsonText = document.getElementById('textArea').value;
  if(jsonText) {
    try {
      var json = JSON.parse(jsonText);
      console.log(json);
    } catch(e) {
      console.log(e);     
    }
  }
}
<textarea id="textArea" rows="10" cols="50"></textarea>
<br/>
<input type="button" value="Convert" onclick="convert()"/>