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

Open Refine多值JSON列转换问题:GREL表达式失效求助

解决方法

问题根源在于原始数据格式:第二条内容是两个独立JSON对象用逗号分隔,并非合法的JSON数组,直接用value.parseJson()无法正确解析为可遍历的集合。

正确的GREL表达式如下:

forEach("[" + value + "]".parseJson(), x, x.result).join(" | ")

表达式拆解:

  • "[" + value + "]":给原始值前后添加方括号,将单个JSON对象或逗号分隔的多个对象转换为合法的JSON数组格式。例如把{"result":"Banana"},{"result":"Apple"}转为[{"result":"Banana"},{"result":"Apple"}]。
  • .parseJson():将处理后的字符串解析为JSON数组。
  • forEach(..., x, x.result):遍历数组中的每个JSON对象,提取result字段的值。
  • .join(" | "):将提取到的所有值用|连接起来。

该表达式可同时处理单对象和多对象的情况,生成你需要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 21:48:30