如何将数组或JSON中的数据分组?

kr98yfug  于 2022-12-01  发布在  其他
关注(0)|答案(1)|浏览(118)

我有一个节点脚本,我下载了一些信息,我需要“重新解析”,首先它下载一个.txt,然后我把它转换成CSV,然后JSON,然后我把它转换成XML,我这样做,因为从.txt到XML是不可能的。
问题是JSON返回了一个类似于以下内容的对象:

[{
    "id": "3435",
    "nameProducto" : "Nombre del producto",
    "PriceProducto" : "19.000"
    },
    {
    "id": "3436",
    "nameProducto" : "Nombre del producto",
    "PriceProducto" : "19.000"
    },
    {
    "id": "343534",
    "nameProducto" : "Nombre del producto",
    "PriceProducto" : "19.000"
    },
    {
    "id": "343345",
    "nameProducto" : "Nombre del producto",
    "PriceProducto" : "19.000"
    },
    {
    "id": "3433435",
    "nameProducto" : "Nombre del producto",
    "PriceProducto" : "19.000"
    }]

我想按“产品”对它们进行分组,如下所示

{
"root" : {
    "item": {
        "id": 3435,
        "nameProducto" : "Nombre del producto",
        "PriceProducto" : "19.000",
    },
    "item": {
        "id": 3436,
        "nameProducto" : "Nombre del producto",
        "PriceProducto" : "19.000",
    },
    "item": {
        "id": 34334,
        "nameProducto" : "Nombre del producto",
        "PriceProducto" : "19.000",
    },
    "item": {
        "id": 343345,
        "nameProducto" : "Nombre del producto",
        "PriceProducto" : "19.000",
    },
    "item": {
        "id": 3433455,
        "nameProducto" : "Nombre del producto",
        "PriceProducto" : "19.000",
    }

}}

如果你对此有一个解决办法,我将非常感激!

jgovgodb

jgovgodb1#

正如注解中提到的,在json/objects中不可能生成具有多个名为'item'的键的'root'对象。
下面是一种方法,它可以在对象的键中使用产品数组的索引:

const inputJson =  [{
    "id": "3435",
    "nameProducto" : "Nombre del producto",
    "PriceProducto" : "19.000"
    },
    {
    "id": "3436",
    "nameProducto" : "Nombre del producto",
    "PriceProducto" : "19.000"
    },
    {
    "id": "343534",
    "nameProducto" : "Nombre del producto",
    "PriceProducto" : "19.000"
    },
    {
    "id": "343345",
    "nameProducto" : "Nombre del producto",
    "PriceProducto" : "19.000"
    },
    {
    "id": "3433435",
    "nameProducto" : "Nombre del producto",
    "PriceProducto" : "19.000"
    }]
    
 let outputJson = { "root" : {}}
 
 inputJson.forEach((item,index) => {
  outputJson.root[`item_${index}`] ={
    item
  }
  
})

console.log(outputJson)

相关问题