Javascript 如何将对象的嵌套数组转换为Json对象

Javascript 如何将对象的嵌套数组转换为Json对象,javascript,reactjs,Javascript,Reactjs,使用React或JavaScript如何将下面的示例嵌套对象数组转换为 JSON: 有什么解决办法吗?对于这个问题,你有什么反应?我试图通过映射来解决这个问题,但在变量中,它将存储剩余子对象被覆盖的最后一个值 这里我想将Json数据绑定到Fluent UI detailList中,并引用文件名,稍后我需要以不同格式导出,如excel。。。 对于导出excel,我们必须按文件名调用数据,这就是为什么不管有什么嵌套的Json数据,我只是尝试使用简单的Json格式 [ { firstN

使用React或JavaScript如何将下面的示例嵌套对象数组转换为 JSON: 有什么解决办法吗?对于这个问题,你有什么反应?我试图通过映射来解决这个问题,但在变量中,它将存储剩余子对象被覆盖的最后一个值

这里我想将Json数据绑定到Fluent UI detailList中,并引用文件名,稍后我需要以不同格式导出,如excel。。。 对于导出excel,我们必须按文件名调用数据,这就是为什么不管有什么嵌套的Json数据,我只是尝试使用简单的Json格式

[
 
  {
    firstName: "abc",
    lastName: "xyz",
    mobile: 12334,
    state: "abc",
  },
  {
    firstName: "abc",
    lastName: "xyz",
    mobile: 12334,
    state: "abc",
  },
  {
    firstName: "abc",
    lastName: "xyz",
    mobile: 12334,
    state: "abc",
  },
];
Fluent表格示例:

如何将上述Json对象转换为以下格式: Expexted Json格式

[
 
  {
    firstName: "abc",
    lastName: "xyz",
    mobile: 12334,
    state: "abc",
  },
  {
    firstName: "abc",
    lastName: "xyz",
    mobile: 12334,
    state: "abc",
  },
  {
    firstName: "abc",
    lastName: "xyz",
    mobile: 12334,
    state: "abc",
  },
];

首先,您试图实现的部分内容是无效的JSON语法,因为数组中不能有键值对。因此[msg:helloworld,success:true是不可能的

但是,您可以执行以下操作:

Details.flatMap((element) => element.personDetails));
Wich将获取所有嵌套元素并以单个平面数组返回它们。然后,您可以使用此结果将其与msg和success属性一起放入JSON对象中

考虑阅读更多关于JSON的内容。
更多关于Array.flatMap的信息。

我找到了解决方案,如果有人面临此类问题,您可以执行以下步骤

var array = [];

source["Details"].forEach((i) => array.push(...i["personDetails"]));

console.log(array);

下面是一个灵活易读的解决方案,使用

//const objectScan=需要“对象扫描”; const data={msg:'hello world',success:'true',Details:[{group:'grp1',personDetails:[{firstName:'abc',lastName:'xyz',lastName:'xyz',state:'abc'},{firstName:'abc',lastName:'xyz mobile:12334,state:'abc'}]}; const r=objectScan['Details[*].personDetails[*]'],{rtn:'value'}数据; console.logr; //=>[{firstName:'abc',lastName:'xyz',mobile:12334,state:'abc'},{firstName:'abc',lastName:'xyz',lastName:'abc'},{firstName:'abc',lastName:'xyz,mobile:12334,state:'abc'}] .作为控制台包装{最大高度:100%!重要;顶部:0}
[msg:hello world,success:true是无效的JSON语法,因为您不能在数组中有键值对。我认为您不能。[msg:is invalid JavaScriptFirst-这不是一个代码编写服务,所以请不要只说“how to”,而不告诉我们您的任何尝试。[..]-是数组,不能直接将key:value放在那里,但可以将object放在那里:[{key:value}]其次,不要直接指向示例数据,“有这个,想要那个”,但没有解释此转换背后的逻辑。要弄清楚您真正想要什么,不应该由我们决定。这里有任何内部人员详细信息对象,我知道我想将该对象存储在一个变量中,就像我在预期格式中提到的一样,因为我想将这些对象绑定到引用fieldNa的fluent DetailList中稍后我需要导出excel工作表