Javascript 从一种形式到另一种形式的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: "="

我想将此JSON转换为结果部分中提到的格式

[
  { 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
回调中,
变量Is
acc的参考变量