Sunray

通过代码块实现关联子表字段的拼接

SunrayLv.2入道 发布于 问答 代码块
0 回复40 浏览

实现如下效果
image.png

代码块如下

import json

# 1. 获取输入参数
raw_input = input.get("values")

# 2. 类型兼容转换:如果是字符串,先尝试反序列化为列表
raw_list = []
if isinstance(raw_input, list):
    raw_list = raw_input
elif isinstance(raw_input, str):
    s = raw_input.strip()
    if s.startswith("[") and s.endswith("]"):
        try:
            parsed = json.loads(s)
            raw_list = parsed if isinstance(parsed, list) else [parsed]
        except Exception:
            # 如果不是标准 JSON 格式,按单条文本处理
            raw_list = [s]
    elif s:
        # 普通纯文本,直接作为单个元素,防止逐字符拆分
        raw_list = [s]

# 3. 过滤空值/纯空格,并保持原有顺序去重
seen = set()
clean_list = []

for item in raw_list:
    if item is None:
        continue
    val = str(item).strip()
    if val and val not in seen:
        seen.add(val)
        clean_list.append(val)

# 4. 拼接输出(使用中文逗号或英文逗号)
result_text = ",".join(clean_list)

output = {"result": result_text}

工作流也很简单
image.png