Javascript 将纯字符串转换为JSON
我有一根像下面这样的线Javascript 将纯字符串转换为JSON,javascript,arrays,json,string,Javascript,Arrays,Json,String,我有一根像下面这样的线 "{stockName: NSE:APOLLOTYRE, stockSignal: Buy, triggerPrice: 204.25, triggerDate: 44900}" 现在我如何将其转换为json,如下所示: { stockName: APOLLOTYRE, stockSignal: Buy, triggerPrice: 204.25, triggerDate: 44900 } 请注意,应该从结果JSON中删
"{stockName: NSE:APOLLOTYRE, stockSignal: Buy, triggerPrice: 204.25, triggerDate: 44900}"
现在我如何将其转换为json,如下所示:
{
stockName: APOLLOTYRE,
stockSignal: Buy,
triggerPrice: 204.25,
triggerDate: 44900
}
请注意,应该从结果JSON中删除“NSE:”
我尝试了下面的代码,但显然不起作用
var data_array = input.body.split(',');
var json = JSON.stringify(data_array);
console.log(json);
您可以使用String.replace向伪JSON中的属性添加引号,将其转换为正确的JSON,然后使用JSON.parse:
var input=“{stockName:NSE:Apolollotre,stockSignal:Buy,triggerPrice:204.25,triggerDate:44900}”;
变量withQuotes=input.replace(/(\b[a-z]+:)?(\b[a-z]+\b)/gi,“$2”);
var parsed=JSON.parse(带引号);
console.log(已解析)代码>要将字符串转换为JSON对象,必须执行以下操作:
var s=“{stockName:Apollotre,stockSignal:Buy,triggerPrice:204.25,triggerDate:44900}”
像这样:
var s=“{\'stockName\':\'apollotre\',\'stockSignal\':\'Buy\','triggerPrice\':204.25,\'triggerDate\':44900}”
在您可以使用
JSON.parse代码>
您可以尝试以下方法:
var s=“{stockName:Apollotre,stockSignal:Buy,triggerPrice:204.25,triggerDate:44900}”代码>
s=s.replace(/{/g,{\”);
s=s.replace(/}/g,\“}”)代码>
s=s.replace(“:”,“\”:\”)代码>
s=s.replace(/,/g,“\”,“\”)代码>
JSON.parse代码>@abhishekkannojia,JSON.parse()不起作用!!那是因为它不是正确的JSON。字符串值应该用引号括起来。它的JSON格式不正确,因此无法进行解析。字符串是如何生成的?它应该在某个时候从一个对象进行字符串化,而不是手动构造,以确保它的格式正确。该格式有规范吗?我的意思是,你能得到像stockSignal:Buy,Sell
或完全不同的结构这样的东西吗?你的解决方案有效,但不幸的是,我更新了完整的问题。我需要在最后一个JSON之前删除一个字符串,您能在这里提供帮助吗?当然,我更新了正则表达式以删除字符串前面的所有字母+':'。