【问题标题】:How to convert a json struture from simple to complex? [closed]如何将json结构从简单转换为复杂? [关闭]
【发布时间】:2018-02-23 13:33:36
【问题描述】:

我把这个简单的数据结构变成了一个复杂的结构:

{"item" :  "Light",
"value":  39,
"time" :  151869596954},

{"item" :  "Bat",
"value":  3.412,
"time" :  1518695969954},

{"item" :  "Humidity",
"value":  56,
"time" :  1518697292308},

{"item" : "InternalTemperature",
"value": 22.2,
"time" : 1518697292308}]

我正在尝试将其转换为使用 javascript:

[
  {
    time: 1518697292308,
    InternalTemperature : 22,
    Humidity : 33,
    Bat : 9
  }
]

【问题讨论】:

  • 我该怎么做?
  • 查看我更新的代码
  • @Palvo 我认为我们省略了时间戳,因为我在时间序列图上显示它
  • 是的。你说得对。我会在几分钟内更改我的代码以解决它
  • 如果您需要在结果中避免 Light,只需在回调中添加跳过条件

标签: javascript arrays json time-series


【解决方案1】:

你可以通过reducefunction轻松做到这一点

const result = [{"item" :  "Light",
        "value":  39,
        "time" :  1518695969954},
    
        {"item" :  "Bat",
            "value":  3.412,
            "time" :  1518695969954},
    
        {"item" :  "Humidity",
            "value":  56,
            "time" :  1518697292308},
    
        {"item" : "InternalTemperature",
            "value": 22.2,
            "time" : 1518697292308}].reduce(function(carry, item) {
        carry[0][item['item']] = item['value'];
        carry[0]['time'] = item['time'];
        return carry;
    }, [{}])
    
  document.write(JSON.stringify(result));

【讨论】:

  • 什么是“map函数”?
  • @UweKeim 来自MDN的基本Array.prototype函数
  • 如何用 document.write 测试它?
  • @Madula 你需要在写之前对对象进行字符串化
猜你喜欢
  • 1970-01-01
  • 2021-05-02
  • 2013-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-14
  • 2016-02-04
相关资源
最近更新 更多