【问题标题】:Converting a typescript class object with dictionary to a JSON array将带有字典的打字稿类对象转换为 JSON 数组
【发布时间】:2021-04-13 06:13:56
【问题描述】:

经过一番挖掘,我决定我的后端需要使用重复的键,因此我的前端不能再将字典作为 JSON 字符串发送。 见我的previous question

应用提供的解决方案后

let mediatagRequest = new MediaTagRequest(tags);
const headers = { 'content-type': 'application/json' }

let jsonObject = {};
for (let entry of mediatagRequest.tags.entries())
{
  jsonObject[entry[0]] = entry[1];
}

const body = JSON.stringify({
  tags: jsonObject
});

我当前的输出(这是我当时想要的)

{
"tags": {
    "city": "Karachi"
}

但是我的需求发生了变化,经过一番挣扎后,我无法得到我想要的输出

{
    "tags": [
        {
            "key": "city",
            "value": "Karachi"
        },
        {
            "key": "city",
            "value": "Mumbai"
        }
    ]
}

有人可以帮忙吗,谢谢。

【问题讨论】:

    标签: arrays json typescript stringify


    【解决方案1】:

    要获得所需的输出,您可以使用Object.entries() 函数分别获取键、值对。此代码段会将一个对象转换为具有键值对的对象列表:

    test_object = { 
      karachi: "dubai",
      mumbao: "moscow",
    };
    
    output = Object.entries(test_object).map(([key, value]) => ({ key, value}));
    
    console.log(output);

    您可以调整此代码以选择对象的所需部分并根据需要设置它们的格式。您可以在文档中看到其他 Object 函数。

    【讨论】:

      猜你喜欢
      • 2021-04-10
      • 2018-10-10
      • 2018-09-18
      • 2020-12-15
      • 1970-01-01
      • 2020-12-27
      • 2018-06-14
      • 2020-01-19
      • 1970-01-01
      相关资源
      最近更新 更多