在JavaScript中将带有键值的数组转换为JSON对象
我有一个JavaScript数组,我在上面使用了在JavaScript中将带有键值的数组转换为JSON对象,javascript,json,Javascript,Json,我有一个JavaScript数组,我在上面使用了JSON.stringify(),结果如下: [ { "typeOfLoan":"Home" }, { "typeOfResidency":"Primary" }, { "downPayment":"5%" }, { "stage":"Just Looking" }, { "firstName":"Jared"
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
中,所有对象的数组都只有一个键,看起来很可疑。我假设您需要一个包含所有键的单一对象文本,然后可以将其发送到后端(并在那里进行解析)。因此,首先,在单个对象中减少许多对象,然后实现对POST
it的ajax调用。以下是如何减少它:
let arr=[{“typeoflone”:“Home”},{“typeofresidence”:“Primary”},{“预付款”:“5%”,{“stage”:“只是看看”},{“firstName”:“Jared”},{“lastName”:“示例”},{“email”:Jared@demo.com“},{”单元格“:“888888888”},{”贷款官员“:“吉姆贷款”}];
让res=arr.reduce((a,b)=>{
设key=Object.key(b)[0];
a[键]=b[键];
返回a;
}, {});
控制台日志(res)代码>在字符串化之前,将请求负载从数组转换为对象
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);
您有了一个对象数组,现在有了一个string-json。您可以在POST请求中发送任何一个。您应该发布您拥有的代码并解释问题所在。JavaScript似乎在关键字let
方面存在问题。它无法将其识别为标识符。我得到以下错误:“undefined不是一个函数(计算'jsonArray.reduce(function(acc,prev){\n return Object.assign(acc,prev);\n},{})”代码>您是否正在减少字符串?console.log(jsonArray的类型)
打印什么?