简体   繁体   English

如何将以下字符串转换为json对象?

[英]How to convert the following string to json object?

var str = '""{""as"":""N9K-93180YC-EX""}""';

I tried with the regular expression 我尝试使用正则表达式

var str1 =  str.replace(/\"/g, "");

After that, I got the string like "{as:N9K-93180YC-EX}" . 之后,我得到了像"{as:N9K-93180YC-EX}"这样的字符串。 So I can't parse the string with JSON.parse(str1) . 所以我不能用JSON.parse(str1)解析字符串。 It's throwing an error like, 这是一个错误,像,

Uncaught SyntaxError: Unexpected token an in JSON at position 1. 未捕获的SyntaxError:在位置1的JSON中出现意外的令牌。

Can anyone please help me with this? 有人可以帮我这个吗?

Thanks in advance 提前致谢

Beside the API problem, you could replace double double quotes with a single double quote and omit the first and last double quote for parsing. 除了API问题,您可以使用单个双引号替换双引号,并省略用于解析的第一个和最后一个双引号。

 var str = '""{""as"":""N9K-93180YC-EX""}""', object = JSON.parse(str.replace(/\\"\\"/g, '"').slice(1, -1)); console.log(object); 

This can be an alternative approach 这可以是另一种方法

var str = '""{""as"":""N9K-93180YC-EX""}""';
var str1 = str.replace(/\"/g, "'");
str1 = str1.replace(/''/g, "'");   
var result = str1.slice(1,-1);
alert(JSON.parse('"'+result+'"'));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM