我在JavaScript中使用了JSON.stringify()
的数组,最终看起来像这样:
[
{
"typeOfLoan":"Home"
},
{
"typeOfResidency":"Primary"
},
{
"downPayment":"5%"
},
{
"stage":"Just Looking"
},
{
"firstName":"Jared"
},
{
"lastName":"Example"
},
{
"email":"Jared@demo.com"
},
{
"cell":"8888888888"
},
{
"loanofficer":"Jim Loan"
}
]
我希望输出是标准的JSON对象,以便我可以在POST中发送它。在此之前被标记为重复之前,我已经尝试了我可能已经找到的所有答案,并且它们最终都无法正常工作或语法错误,我不明白如何修复。该数组存储在变量jsonArray
。
答案 0 :(得分:0)
所有带有单个键的对象数组看起来很可疑。我想你想要一个带有所有键的单个对象文字,然后你可以将它发送到你的后端(并在那里解析)。首先,减少一个对象中的多个对象,然后将{a} ajax调用到任何地方POST
。以下是如何减少它:
let arr = [{"typeOfLoan":"Home"},{"typeOfResidency":"Primary"},{"downPayment":"5%"},{"stage":"Just Looking"},{"firstName":"Jared"},{"lastName":"Example"},{"email":"Jared@demo.com"},{"cell":"8888888888"},{"loanofficer":"Jim Loan"}];
let res = arr.reduce((a,b) => {
let key = Object.keys(b)[0];
a[key] = b[key];
return a;
}, {});
console.log(res);

根据您用于将其发送到后端的内容,您可能需要在JSON.stringify
上使用res
答案 1 :(得分:0)
在字符串化之前,将请求有效负载从数组转换为对象。
const arr = [{"typeOfLoan":"Home"},{"typeOfResidency":"Primary"},{"downPayment":"5%"},{"stage":"Just Looking"},{"firstName":"Jared"},{"lastName":"Example"},{"email":"Jared@demo.com"},{"cell":"8888888888"},{"loanofficer":"Jim Loan"}];
const payload = arr.reduce(function(acc, prev){
return Object.assign(acc, prev);
}, {});
console.log(payload);