简体   繁体   English

将纯字符串转换为JSON

[英]converting pure string to JSON

I have a string like below 我有一个像下面的字符串

 "{stockName: NSE:APOLLOTYRE, stockSignal: Buy, triggerPrice: 204.25, triggerDate: 44900}"

Now how can I convert this to json as below: 现在如何将其转换为json,如下所示:

    {
    stockName: APOLLOTYRE, 
    stockSignal: Buy, 
    triggerPrice: 204.25, 
    triggerDate: 44900
}

Please note that "NSE:" should be deleted from resulting JSON I tried below code but obviously it not working. 请注意,应从我尝试下面的代码得到的JSON中删除“ NSE:”,但显然无法正常工作。

 var data_array = input.body.split(',');
        var json = JSON.stringify(data_array);
        console.log(json);

You can use String.replace to add quotes to the properties in your pseudo-JSON to convert it to proper JSON, then use JSON.parse: 您可以使用String.replace将引号添加到伪JSON中的属性,以将其转换为正确的JSON,然后使用JSON.parse:

 var input = "{stockName: NSE:APOLLOTYRE, stockSignal: Buy, triggerPrice: 204.25, triggerDate: 44900}"; var withQuotes = input.replace(/(\\b[az]+:)?(\\b[az]+\\b)/gi, '"$2"'); var parsed = JSON.parse(withQuotes); console.log(parsed); 

For transorm your string into JSON object you have to make this: 要将字符串转换为JSON对象,必须执行以下操作:

var s = "{stockName: APOLLOTYRE, stockSignal: Buy, triggerPrice: 204.25, triggerDate: 44900}"

like this: 像这样:

var s = "{\\"stockName\\": \\"APOLLOTYRE\\", \\"stockSignal\\": \\"Buy\\", \\"triggerPrice\\": 204.25, \\"triggerDate\\": 44900}"

and after you can parse it from json to javaScript object with 然后您可以将其从json解析为javaScript对象

JSON.parse(s);

You can try something like this: 您可以尝试如下操作:

var s = "{stockName: APOLLOTYRE, stockSignal: Buy, triggerPrice: 204.25, triggerDate: 44900}";

s = s.replace(/{/g, '{\\"');

s = s.replace(/}/g, '\\"}');

s = s.replace(":", '\\":\\"');

s = s.replace(/, /g, '\\",\\"');

JSON.parse(s);

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

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