如何在 JSON 中为每个对象添加根节点?

Posted

技术标签:

【中文标题】如何在 JSON 中为每个对象添加根节点?【英文标题】:How to add root node in JSON for every object? 【发布时间】:2019-01-05 08:00:43 【问题描述】:

我将 excel 文件转换为 JSON ,以将其导入我的 firebase 数据库。 转换时,我有以下格式的 JSON 数据

[
        
            "ProductNumber": "7381581",
            "SKU": "test3",

        ,
        
            "ProductNumber": "7381582",
            "SKU": "test",
        ,
        ..
    ]

但我需要这样的


    "7381581" :
        "ProductNumber": "7381581",
        "SKU": "test3",

    ,
    "7381582":
        "ProductNumber": "7381582",
        "SKU": "test",


    ,..
    

如何更改电子表格记录以获取上述格式的 JSON? (要么) 我应该如何动态地将键值添加到 JSON?

【问题讨论】:

第一个例子是无效的语法。如果已修复,请查看Array.prototype.reduce() 【参考方案1】:

您可以按照建议使用 reduce 来迭代原始数组并将其转换为对象。

data.reduce((prev, current) => 
    prev[current.ProductNumber] = current;
    return prev;
, );

您可以在操场上看到一个工作示例here。

【讨论】:

以上是关于如何在 JSON 中为每个对象添加根节点?的主要内容,如果未能解决你的问题,请参考以下文章

未显示根线时,TreeView 将 +- 号添加到根节点[重复]

vue3的根节点

如何在从根遍历到json树的目标节点时插入键?

VB.NET中treeview的使用

如何反序列化 JSON 数组并忽略根节点?

如何添加根节点