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

使用QueryRecord/JoltTransformJson等处理器修改JSON后,对象顺序是否有保障?

JSON数组对象顺序在常用处理工具中的保持情况

核心问题:用QueryRecord、JoltTransformJson、Groovy脚本这类JSON修改工具时,原数组里的对象顺序能不能保住?

先看你给的原JSON:

[
   {
      "id":1,
      "price":400
   },
   {
      "id":2,
      "price":500
   },
   {
      "id":3,
      "price":250
   }
]

还有示例JOLT转换规则:

[
  {
    "operation": "default",
    "spec": {
      "*": {
        "status": 0
      }
    }
  }
]

分工具说明:

  • JoltTransformJson:用*遍历数组元素时,会严格按原顺序逐个处理,不会乱序。你担心的那种id3跑到最前面的情况不会发生,处理后还是id1、id2、id3的顺序,每个对象新增status:0字段。
  • QueryRecord(NiFi处理器):默认会保留原数组的元素顺序,除非你特意配置了排序规则,否则不会改变元素先后顺序。
  • Groovy脚本:完全由你编写的逻辑决定。如果只是循环遍历修改每个对象(比如用each循环),数组顺序会完全保留;只有当你主动调用排序、打乱(如shuffle)之类的方法,才会改变顺序。

总结:只要没主动添加改变顺序的逻辑,这三类工具都会保持原JSON数组的对象顺序,不会出现你担心的乱序情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 15:15:17