将JSON中的数组转换为javascript中的对象

将JSON中的数组转换为javascript中的对象,javascript,json,Javascript,Json,我有以下来自GraphQL端点的数据: 我需要将其中的数组替换为JSON对象,如下所示: { "data": { "metatags": { { "title": "Metatag title", "description": "Metatag description" } }, "herounits": { { "title": "Hero unit title",

我有以下来自GraphQL端点的数据:

我需要将其中的数组替换为JSON对象,如下所示:

{
  "data": {
    "metatags": {
      {
        "title": "Metatag title",
        "description": "Metatag description"
      }
    },
    "herounits": {
      {
        "title": "Hero unit title",
        "description": "Hero unit description"
      }
    }
  }
}

一直在尝试不同的方法,但都没有奏效。

您想要的对象无效,您有一个没有属性名称的额外级别的对象嵌套

假设你真正想要的是:

{
  "data": {
    "metatags": {
        "title": "Metatag title",
        "description": "Metatag description"
    },
    "herounits": {
        "title": "Hero unit title",
        "description": "Hero unit description"
    }
  }
}
可以通过将每个属性替换为数组元素0中的值来实现

设obj={ 数据:{ 元标记:[ { 标题:元标记标题, 描述:元标记描述 } ], 单位:[ { 标题:英雄单位标题, 描述:英雄单位描述 } ] } }; Object.keysobj.data.forEachk=>obj.data[k]=obj.data[k][0];
console.logobj;您的预期结果无效;不能将对象直接嵌套在这样的对象内部。你到底想达到什么目的?你现在的数组有什么问题?你需要一个对象内部的密钥-只有你的第一个密钥是有效的。嗨@Pointy,谢谢你的回复!我正在使用一个名为Vuex-i18n的插件,它不允许以herounits[0]的身份访问。title,因此我需要在没有数组的情况下获得最终结果,GraphQL端点来自Strapi headless CMS。您好@Barmar,这正是我需要的,它工作得很好,非常感谢您!!!:D
{
  "data": {
    "metatags": {
        "title": "Metatag title",
        "description": "Metatag description"
    },
    "herounits": {
        "title": "Hero unit title",
        "description": "Hero unit description"
    }
  }
}