【问题标题】:Parsing string data response解析字符串数据响应
【发布时间】:2020-04-03 05:29:45
【问题描述】:
我无法解析从某个第三方供应商收到的数据响应。
响应类似于:-
data: ()(responseCode='A01', responseMessage='Approved', accountNumber='qwerty');
我尝试了几种解析/字符串化的方法,但它没有为我提供 JSON 响应。我也尝试了 Querystring 函数的奇怪组合,但这没有帮助。
我深陷其中。
【问题讨论】:
标签:
json
query-string
string-parsing
【解决方案1】:
我会发布一个解决方法,它可能效率不高,但会给你结果。
var data = "data: ()(responseCode='A01', responseMessage='Approved', accountNumber='qwerty');";
var temp = data.substring(8,);
temp = temp.replace("(","{");
temp = temp.replace(")","}");
temp = temp.replace(/=/g,":");
temp = temp.replace(";","");
temp = eval('(' + temp + ')');
var Result = JSON.stringify(temp)
结果:{"responseCode":"A01","responseMessage":"Approved","accountNumber":"qwerty"}
【解决方案2】:
您可以使用正则表达式将其转换为有效的 JSON 结构。
let data = `data: ()(responseCode='A01', responseMessage='Approved', accountNumber='qwerty');`;
let modified = data
.replace(/\s/g,'')
.replace("data:()(",'{\'')
.replace(");",'}')
.replace(/=/g,"':")
.replace(/,/g,",'")
.replace(/'/g,'"')
let json = JSON.parse(modified);
console.log(json)