当前位置: 首页 > 知识库问答 >
问题:

将复杂对象转换为数组

须新
2023-03-14

响应数据是一个长而复杂的对象,看起来像这样:

{
    "Frozen Products": [
        {
            "_id": "6181849285e8d8f86be2d9df",
            "name": "Peas (800g)",
            "category_id": "6181841060c425f76e57b603",
            "slug": "vegetables",
            "quantity": 16,
            "price": {
                "amount": 3.00
            },
            "thumbnail":"URI ...",,
            "images": [
                "URI ...",
            ],
            "synonyms": [
                "Veggies"
            ],
        },

//etc for many key/values inside this object ..
        
}

我需要访问信息并显示一个类别(“本例中为冻结产品”)及其下的所有产品名称和图像。

但是我认为我需要通过它们的索引(例如数据[0])而不是密钥名称通过循环访问每个密钥/值对,因为它们密钥是由API动态创建的。那么我如何将其更改为:

{
   [ "Frozen Products": [
        {
            "_id": "6181849285e8d8f86be2d9df",
            "name": "Peas (800g)",
            "category_id": "6181841060c425f76e57b603",
            "slug": "vegetables",
            "quantity": 16,
            "price": {
                "amount": 3.00
            },
            "thumbnail":"URI ...",,
            "images": [
                "URI ...",
            ],
            "synonyms": [
                "Veggies"
            ],
        },
   ]

共有2个答案

柯镜
2023-03-14

您可以在迭代器中使用for遍历对象。不管关键名称是什么

for(key in object) {
  let value = object[key];
}

韶和璧
2023-03-14

我想你需要这样的东西:

let data = {
    "Frozen Products": [
        {
            "_id": "6181849285e8d8f86be2d9df",
            ...
        }
    ],
    "Another Category": [...]    
}

let categories = Object.keys(data).map((key) => ({categoryName: key, products: data[key]}));
 类似资料:
  • 问题内容: 我有一个应用程序,该应用程序使用Jackson将我的复杂对象编组为JSON,从而在DynamoDB中存储一些数据。 例如,我要编组的对象可能如下所示: SomeObject可能看起来像这样: 和SomeOtherObject可能看起来像这样: 可以很好地将对象整理成问题并将其作为JSON字符串存储在数据库中。 当需要从DynamoDB检索数据时,Jackson会自动检索JSON并将其转

  • 某个物体可能看起来像这样: 另一个物体可能是这样的: 这很好,因为对象被封送,没有问题,并以JSON字符串的形式存储在DB中。

  • 问题内容: 转换的最佳方法是什么: 至: 问题答案: ECMAScript 6引入了易于填充的内容: 该方法用于将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 数组的自身属性不会被复制,因为它无法枚举。 另外,您可以使用ES6 传播语法来达到相同的结果:

  • 这就是我的目标: 如何进行转换,从而得到一个只有值的数组:

  • 我使用表单submit 现在,我想把这个数组转换成PHP数组,像这样 $汽车=数组(沃尔沃,宝马,丰田); 所以,这就是我所尝试的: 但它不起作用。看起来我无法将变量放在这里 但是,如果不是将变量放入,而是手动放入的输出,则其工作方式类似于: 解决办法是什么?

  • 我正在php控制器中运行一个数据库查询,并将结果返回给一个Ajax函数。下面是php代码。 下面是我在ajax中的函数: 我的问题是如何将返回的json对象转换为javascript数组。

  • 问题内容: 转换的最佳方法是什么: 至: 问题答案: ECMAScript 6引入了易于填充的内容: 该方法用于将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 数组的自身属性不会被复制,因为它无法枚举。 另外,您可以使用ES6 传播语法来达到相同的结果: