繁体   English   中英

将数据转换为 json object

[英]Convert Data to json object

我从支付网关站点得到以下响应:这就是我在 console.log 中得到的

order_id=6&tracking_id=309006168284&bank_ref_no=null
&order_status=Aborted&failure_message=&payment_mode=null&card_name=null&status_code=&
status_message=I wish to pay through another payment 
option.&currency=INR&amount=1.00&billing_name=Peter&billing_address=Santacruz&billing_city=Mumbai

我尝试将上述结果转换为 JSON 格式。

var finalData = responseFromSite.replace(/&/gi,',');
var finalData2 = finalData.replace(/=/gi,':');
var parsData = JSON.parse(JSON.stringify(finalData2));
console.log('parsData',parsData.order_status);

在 console.log parsData 我得到未定义。

预期的结果是

{
"order_id": "9840661",
"tracking_id": "308005007091",
"bank_ref_no": "1555842850653",
"order_status": "Success",
"failure_message": "",
"payment_mode": "Net Banking",
"card_name": "AvenuesTest",
"status_code": "null",
"status_message": "Y",
"currency": "INR",
"amount": "1000.00",
"billing_name": "OPTIONAL",
"billing_address": "OPTIONAL",
"billing_city": "OPTIONAL",
}

我怎样才能得到以上结果。

不要尝试使用正则表达式将数据转换为不同的格式。 使用旨在处理该格式的解析器来读取它,并使用 JSON 编码器将其转换为 JSON。

const qs = require("query-string");

const data = `order_id=6&tracking_id=309006168284&bank_ref_no=null
&order_status=Aborted&failure_message=&payment_mode=null&card_name=null&status_code=&
status_message=I wish to pay through another payment 
option.&currency=INR&amount=1.00&billing_name=Peter&billing_address=Santacruz&billing_city=Mumbai`;

const parsed = qs.parse(data);

const json = JSON.stringify(parsed, null, 2);

process.stdout.write(json);

暂无
暂无

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

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