json输出转换为其他格式

时间:2018-01-10 22:25:26

标签: json linux awk text-processing

我有一个脚本

的以下输出
{"emeter":{"get_realtime":{"current":0.501730,"voltage":240.819788,"power":70.455025,"total":1.798000,"err_code":0}}}

我需要将它转换为prometheus exporter collector的格式:

current 0.53
voltage 234
power 84.04
total 0.92

建议?

1 个答案:

答案 0 :(得分:0)

  1. 获取内部对象 - 在解析JSON后认为my_obj是您的对象
  2. 获取您的物品'键作为带Object.keys()
  3. 的字符串数组
  4. 忽略" err_code"使用filter
  5. Array方法
  6. 我使用了控制台日志来记录输出 - 不知道你想要的是什么,但我想你现在可以轻松搞清楚了
  7. 
    
    var my_obj = {
      "emeter": {
        "get_realtime": {
          "current": 0.501730,
          "voltage": 240.819788,
          "power": 70.455025,
          "total": 1.798000,
          "err_code": 0
        }
      }
    }
    var inner = my_obj.emeter.get_realtime;
    var innerKeys = Object.keys(inner);
    innerKeys.filter(k => k !== "err_code")
      .forEach(k => console.log(k, inner[k]));