【发布时间】:2019-03-13 19:34:13
【问题描述】:
我目前有一个现有的 JSON,我想将其更改/重新格式化为新的 JSON,以便能够在外部服务中使用。格式有点复杂,但我无法更改,所以我必须编辑现有的 JSON。匹配我想要的输出。
现有 JSON:
{
"specifiers": [{
"value": "test",
"type": "text",
"label": "Brand ID"
}, {
"value": "test",
"type": "text",
"label": "Program ID"
}]
}
所需的输出:
{
"specifiers": {
"Brand ID": {
"text": {
"value": "test",
"type": "text"
}
},
"Program ID": {
"text": {
"value": "test",
"type": "text"
}
}
}
}
我尝试过使用循环遍历现有 JSON,但我真的不知道如何格式化我的循环以使用值作为键?我猜我可能必须使用 Object.keys 或 Object.values,但我不确定如何获取特定键的特定值。
示例格式:
"[label]": {
"[type]": {
"value": [value],
"type": [type]
}
}
【问题讨论】:
-
所以你总是以相同的输入格式接收它并希望将其转换为相同的输出格式?
-
第一个选项是 imo 结构更好。之所以?除非您提前知道“说明符”包含“品牌 ID”和“程序 ID”属性(类似于您知道“文档”包含“querySelector”和“getElementById”方法),否则您将不得不遍历对象的属性,在这种情况下,您不妨使用数组。但是,没有考虑 API 的要求。
标签: javascript json typescript iteration reformatting