Javascript 从一种形式到另一种形式的Json转换
我想将此JSON转换为结果部分中提到的格式Javascript 从一种形式到另一种形式的Json转换,javascript,jquery,json,Javascript,Jquery,Json,我想将此JSON转换为结果部分中提到的格式 [ { name: "FieldData[FirstName][Operator]", value: "=" } { name: "FieldData[FirstName][Value]", value: "test" } { name: "FieldData[LastName][Operator]", value: "="
[
{ name: "FieldData[FirstName][Operator]", value: "=" }
{ name: "FieldData[FirstName][Value]", value: "test" }
{ name: "FieldData[LastName][Operator]", value: "=" }
{ name: "FieldData[LastName][Value]", value: "test" }
]
结果:
FieldData
{
FirstName {
Operator: =,
Value: tset
},
LastName {
Operator: =,
Value: tset
}
}
使用
String.prototype.split
函数和regex,您可以提取[]
中的字符串,并根据该数据生成嵌套对象,如下所示
const输入=[
{name:“FieldData[FirstName][Operator]”,值:“=”},
{name:“FieldData[FirstName][Value]”,Value:“test”},
{name:“FieldData[LastName][Operator]”,值:“=”},
{name:“FieldData[LastName][Value]”,Value:“test”}
];
常量结果=输入。减少((acc,cur)=>{
常量键=cur.name.split(/\[(.*?\]/).filter((项)=>项);
让项目=acc;
for(让index=0;index 控制台日志(结果)
使用正则表达式和javascript的功能,使用与obj.propname=value
相同的obj[propname]=value设置属性
var d=[
{name:“FieldData[FirstName][Operator]”,值:“=”},
{name:“FieldData[FirstName][Value]”,Value:“test”},
{name:“FieldData[LastName][Operator]”,值:“=”},
{name:“FieldData[LastName][Value]”,Value:“test”},
];
var r={};
对于(var i=0;iBtw,您缺少,
在数组中的每个}
之后,[]
Stackoverflow,当您问一些狭隘的问题时效果最好。要求人们编写一个完整的数据格式转换器实在太广泛了。(当您不询问JSON,然后提供无效的JSON数据时,它也会有所帮助)更正好的。但我需要解决方案。如果您能够提供解决方案,那么请告诉我,如果电路中存在这样做的函数,那么请提供解决方案。您到底需要什么?内部的回调reduce
是制作嵌套对象的部分。在reduce
回调中,项变量Isacc的参考变量
。