JSON生成

  • 产品级协助
  • 文档创建者:Roxy
  • 历史版本:13
  • 最近更新:Roxy 于 2025-04-11
  • 1. 概述

    1.1 版本

    FineDataLink 版本
    功能变动
    4.0.19-
    4.1.7.2界面优化
    4.1.14.1

    支持设置分组字段,可按照分组字段合并JSON字段

    4.2.5.2
    • 支持 JSON 配置表内嵌套超过三层

    • 单个字段支持在JSON生成算子内被选择多次

    • 选字段可以自定义设置固定值

    • 支持按照 JSON 模板生成

    1.2 应用场景

    当用户需要使用 API 输出实现将 API 数据写入指定接口时,可能需要将数据库或者其他形式的数据生成为 JSON 格式,以便进行数据交互。

    1.3 功能说明

    FineDataLink 支持使用 JSON 生成算子,生成 JSON 格式数据

    2. 功能说明

    2.1 JSON 字段

    字段名称:从上游输出中选择字段进行组装生成 JSON 对象,默认字段名称为「JSON_DATA」,用户可自行修改名称。

    按分组字段合并 JSON 字段:将生成的 JSON 字段按照指定的字段进行分组输出。

    分组字段介绍

    注:分组字段功能可解决简道云子表单增删改同步问题,详情请参见多个简道云子表单增删改输出

    2.2 JSON 设置

    2.2.1 设置格式

    默认为用户创建一个对象,允许用户新增、删除对象的键-值,值支持设置为子对象和子数组进行嵌套(值为子对象或子数组代表一层嵌套),且根据用户的配置支持生成多个 JSON 对象。

    配置提供四个选项设置,键、值类型、值、值格式。

    • :用户自定义选择键名

    • 值类型&值:值类型提供 字段、子对象、子数组 三个选项。

    4.2.5.2 及之后的版本支持自定义固定值,如下图所示:

    • 值格式:提供  字符串、数值、布尔型  三种选项,默认使用前面选择的值字段的类型进行填充,如果字段值为数值、则生成的值为数值(不带双引号),如果字段值为 true/flase、则生成的值为逻辑值 true/flase(不带双引号),否则为字符串;当用户选择「字符串」时,一律将值设定为字符串(带双引号);在运行时,需要将实际的数据流字段的类型,按照用户设定的类型进行强制转换,转换失败则报错;对于子数组,只允许在前端添加一行值,且值的类型只允许为字段或子对象。

    2.2.2 快捷生成和清空

    提供「快捷生成」和「清空」设置:

    「按字段自动生成」:将流入算子的数据流字段自动生成一个对象,在对象内为每个字段创建为一个键-值,键为字段名、值为字段值、不包括嵌套。

    「按JSON模版生成」:按照粘贴的 JSON 格式进行 JSON 设置,如下图所示:

    清空:允许用户通过清空配置选项,实现一键清空配置表。

    2.2.3 整体生成数组

    勾选「整体生成数组」后,会将设置的 JSON 整体变为[]数组,如下图所示:

    3. 约束限制

    • JSON 配置表内,嵌套不能超过三层。注:4.2.5.2 及之后的版本已经支持。

    • JSON 配置表内,同一嵌套层级的子数组只能添加一个。

       

    • 单个字段只允许在JSON生成算子内被选择一次,已被选过的字段置灰提示。注:4.2.5.2 及之后的版本已经支持。

    • 如果字段值为数值、则生成的值为数值(不带双引号),如果字段值为 true/false、则生成的值为逻辑值 true/false(不带双引号),否则为字符串;

    • 当用户选择“字符串”时,一律将值设定为字符串(带双引号);

    • 对于子数组,只允许在前端添加一行值,且值的类型只允许为字段或子对象;

    • 同一层级内键名不允许重名,跨层级允许键名重名。

    4. 操作步骤

    示例数据:dw_comment.xls

    API输出需要将数据表中的用户数据生成 JSON 格式后,通过 API 输出对接业务系统,将数据推送写入业务系统接口中,触发业务系统流转任务,实现数据交互。

    本文以 API输出 中的 JSON 生成示例详细说明用法。

    4.1 取出数据

    用「数据转换」节点,进入编辑界面后,拖入「DB表输入」算子,SQL 语句取出需要进行 API 输出的数据,如下图所示:

    点击预览数据,如下图所示:

    4.2 JSON设置

    由于需要API写入的接口数据需要 JSON 格式,所以需要将原先的数据库表形式数据转换成 JSON 格式。

    JSON 样式如下:

    {
    "fields": {
    "summary""文档很赞",
    "components": {
    "name": [
    "FR10"
    ]
    },
    "customfield_14904""https://help.fanruan.com/finereport10.0/doc-view-2463.html",
    "description""根据参数动态显示地图区域"
    }
    }

    新增 JSON 生成算子,设置输出 JSON 字段名,并进行 JSON 配置。

    点击 JSON 设置中的添加,开始 JSON 设置,如下图所示:

    输入第一个键 fields,然后设置子对象,如下图所示:

    在嵌套的子对象中,输入键并选择对应的字段「comment」作为值,如下图所示:

    同时支持调整值类型,类型支持「字符串」、「数值」和「布尔型」,如下图所示:

    若选择自动生成 JSON ,则效果如下:

    将流入JSON生成算子的数据流字段自动生成一个对象,在对象内为每个字段创建为一个键-值,键为字段名、值为字段值、不包括嵌套。


    按照上文的 JSON格式进行设置,最终生成的 JSON 如下图所示:

    4.3 数据预览

    配置好后,选择「数据预览」,可以看到生成的 JSON 。

    然后点击指定的 JSON ,可以在右侧看到详细的 JSON 内容,并且可以复制内容,如下图所示:

    后续操作可以参考:API输出

    5. 运行日志说明

    日志分类场景报错内容(不包含时间部分)
    预览&选择节点时报错源字段为空com.fr.dp.exception.FineDPException: JSON生成失败 - JSON源字段不能为空 (后端报错信息及堆栈)
    未接入前置节点com.fr.dp.exception.FineDPException: 未接入前置节点 - previous node of [JSON生成] is absent
    JSON生成失败-值格式错误com.fr.dp.exception.FineDPException: JSON生成失败 - 值格式错误(后端报错信息及堆栈)
    JSON生成失败(其他场景失败场景)com.fr.dp.exception.FineDPException: JSON生成失败 -  后端报错信息及堆栈
    构建时报错源字段为空/输出字段为空

    任务构建失败

    异常节点:【数据转换】

    [JSON生成]: 源字段为空 输出字段为空

    未接入前置节点

    任务构建失败

    异常节点:【数据转换】

    [JSON生成]:未接入前置节点

    运行时报错JSON生成失败-值格式错误

    [数据转换] - 执行失败

    [JSON生成]:JSON生成失败 - 值格式错误(后端报错信息)

    JSON生成失败(其他场景失败场景)

    [数据转换] - 执行失败

    [JSON生成]:JSON生成失败 - (后端报错信息)



    附件列表


    主题: 数据开发-定时任务
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    9s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持

    反馈已提交

    网络繁忙