【问题标题】:Need to format a json object based on another json data需要根据另一个json数据格式化一个json对象
【发布时间】:2022-11-29 19:56:10
【问题描述】:

使用这个来自 api 的 JSON

let json1 ={
    "records": [
        {
            "ID": "1",
            "Value": "A005",
        },
        {
            "ID": "2",
            "Value": "A007",
        },
        {
            "ID": "3",
            "Value": "B001",
        },
        {
            "ID": "4",
            "Value": "B003",
        },
    ],
    "conditional":[
    {"Value":{'A005':'red','A007':'blue','B001':'green'}},
    ]
}

我需要以下 JSON 来格式化要在 UI 中表示的数据

let json ={
    "records": [
        {
            "ID": "1",
            "Value": "<span style='color;red'>A005</span>",
        },
        {
           "ID": "2",
           "Value": "<span style='color;blue'>A007</span>",
        },
        {
          "ID": "3",
          "Value": "<span style='color;green'>B001</span>",
        },
        {
            "ID": "4",
            "Value": "B003",
        },
    ],
    "conditional":[
    {"Value":{'A005':'red','A007':'blue','B001':'green'}},
    ]
}

我不太熟悉 JSON 数据,所以我需要帮助。我试过 forEach 和 Object.keys 但我做不到。

【问题讨论】:

标签: javascript json object foreach


【解决方案1】:

我们可以通过Array.forEach()来完成

let json ={
    "records": [
        {
            "ID": "1",
            "Value": "A005",
        },
        {
            "ID": "2",
            "Value": "A007",
        },
        {
            "ID": "3",
            "Value": "B001",
        },
        {
            "ID": "4",
            "Value": "B003",
        },
    ],
    "conditional":[
    {"Value":{'A005':'red','A007':'blue','B001':'green'}},
    ]
}

// PS: conditional format seems not elegant,especially []
let conditional = json.conditional[0].Value

json.records.forEach(e => {
  let color = conditional[e.Value] 
  e.value = `<span style='color:${color}'>` + e.Value + `</span>`
})

console.log(json)

【讨论】:

  • @Ivar 你是对的,我忘记了,谢谢你的建议
猜你喜欢
  • 1970-01-01
  • 2023-02-02
  • 1970-01-01
  • 2015-12-02
  • 2017-08-26
  • 1970-01-01
  • 2014-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多