Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将纯字符串转换为JSON_Javascript_Arrays_Json_String - Fatal编程技术网

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之前删除一个字符串,您能在这里提供帮助吗?当然,我更新了正则表达式以删除字符串前面的所有字母+':'。