将带有字典的打字稿 class 对象转换为 JSON 数组
Converting a typescript class object with dictionary to a JSON array
经过一些挖掘,我决定我的后端需要使用重复的键,因此我的前端不能再将字典作为 JSON 字符串发送。
看我的 .
应用提供的解决方案后
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"
}
]
}
谁能帮忙,谢谢。
要获得所需的输出,您可以使用 Object.entries()
函数分别获取键值对。此代码段会将一个对象转换为具有键值对的对象列表:
test_object = {
karachi: "dubai",
mumbao: "moscow",
};
output = Object.entries(test_object).map(([key, value]) => ({ key, value}));
console.log(output);
您可以将此代码改编为 select 您对象的所需部分,并根据需要设置它们的格式。您可以在文档中看到其他 Object
函数。
经过一些挖掘,我决定我的后端需要使用重复的键,因此我的前端不能再将字典作为 JSON 字符串发送。
看我的
应用提供的解决方案后
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"
}
]
}
谁能帮忙,谢谢。
要获得所需的输出,您可以使用 Object.entries()
函数分别获取键值对。此代码段会将一个对象转换为具有键值对的对象列表:
test_object = {
karachi: "dubai",
mumbao: "moscow",
};
output = Object.entries(test_object).map(([key, value]) => ({ key, value}));
console.log(output);
您可以将此代码改编为 select 您对象的所需部分,并根据需要设置它们的格式。您可以在文档中看到其他 Object
函数。