You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JOLT格式转换指定JSON数据

使用JOLT实现指定JSON格式转换

输入JSON:

{"mtime": "2023-03-14T01:00:00Z","sid": "46","tsa": "9.0","tha": "7.8","hra": "85.0","tsf": null,"tss": null,"ens": "0.0","dvt": null,"vvt": "4.8","plu": "0.1","hct": "26.0"}

期望输出JSON:

{"Date": "2023-03-14 01:00:00","data": [{"code": "tsa","value": "9.0"},{"code": "tha","value": "7.8"},{"code": "hra","value": "85.0"},{"code": "tsf","value": null},{"code": "tss","value": null},{"code": "ens","value": "0.0"},{"code": "dvt","value": null},{"code": "vvt","value": "4.8"},{"code": "plu","value": "0.1"},{"code": "hct","value": "26.0"}],"stationname": "Station"}

JOLT转换规范:

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "Date": "=split('T', @(1,mtime))",
      "Date": "=join(' ', @(1,Date))",
      "Date": "=split('Z', @(1,Date))[0]"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "Date": "Date",
      "tsa|tha|hra|tsf|tss|ens|dvt|vvt|plu|hct": {
        "$": "data[#2].code",
        "@": "data[#2].value"
      },
      "#Station": "stationname"
    }
  },
  {
    "operation": "sort",
    "spec": {
      "data": ["code"]
    }
  }
]

转换步骤说明

  1. modify-overwrite-beta 操作:专门处理时间格式转换
    • 先把mtime里的字符串按T分割成数组,再用空格拼接成带空格的时间字符串,最后去掉末尾的Z,得到目标Date格式
  2. shift 操作:完成核心字段映射
    • 直接把处理好的Date字段映射到输出的Date
    • 匹配指定的传感器字段(tsa、tha等),把字段名作为code、字段值作为value,批量生成data数组的元素
    • 用#Station硬编码生成固定值的stationname字段
  3. sort 操作:对data数组按code排序,确保输出顺序和期望一致

内容的提问来源于stack exchange,提问作者BHADRAKA HERATH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 23:42:03