Appearance
JSON提取
🚩【组件功能】:在JSON文本中提取通过JSON选择器提取指定节点内容
配置预览
配置说明
JSON数据源 支持T或# 默认FLOW输入项
提取处理的对象,若为空,以上一个组件的输出做为JSON数据源,支持文本或表达式输入。
JSON表达式 支持T或#
填写JSON表达式从JSON数据源获取节点,支持文本或表达式输入。
数据返回
支持“文本单条、List数组多条、DataTable表格”3种数据返回类型。
筛选字段列 支持T或#
填写筛选的字段列名,以逗号分割,默认“*”表示保留或删除所有列。
筛选类型
支持“保留该列、删除该列”2种类型,与“筛选字段列”配合使用。
输入输出
输入类型
字符串(System.String)
输出类型
万能对象(System.Object)
字符串(System.String)
字符串列表(System.Collections.Generic.List<System.String>)
表格对象(System.Data.DataTable)
🏁 上一组件的输出类型如果也是字符串,则可以直接输入到本组件的流变量(FLOW,类型也为字符串),如果不是则不接收,在本组件内任何文本配置区域都可以使用T模式下的 ~flow 或#模式下的FLOW
格式直接调用该流变量,流变量FLOW在该组件内可能被修改,本组件完成功能处理后,将结果按万能对象(System.Object)、字符串(System.String)类型、字符串列表(System.Collections.Generic.List<System.String>)、表格对象(System.Data.DataTable)输出到下一组件。
组件依赖
该组件无任何依赖,可以随意安装卸载,可以在流程内任何地方使用,可以理解为火语言的普通静态函数。
支持平台
~win-yes ~mac-yes ~linux-yes
更新历史及框架依赖
组件当前最新版本为 V1.0,暂无版本更新历史,暂无主程序框架依赖要求。
所在组件市场链接:JSON提取 V1.0
组件同时安装多版本操作提示
➡️ 一个组件存在功能升级及Bug完善后会发布成新更新的版本,比如V1.0
, V1.1
, V2.0
;
➡️ 如果在本地以前安装了旧的组件版本,发现了新的组件版本后,可以在线安装新的版本到本地,多个版本可以在本地共存;
➡️ 本地安装有当前组件多个版本时,新编辑的流程内拖拽该组件使用时,都会默认使用组件的最新版本;
➡️ 如果流程中已经保存使用了组件的比较旧版本:
默认不会对用户的应用流程内该组件进行任何操作,使用组件旧的版本及配置以保证原流程完整功能的正常使用;
用户可以在流程编辑时对存在更新的组件,自行选择确认是否升级切换到较高版本,当切换时,新的组件用户配置信息可能需要您做细节确认以保证功能适用;
例如:输出日志组件最新版为1.0.1,当前流程使用的版本为1.0.0,在组件名称后点击历史版本下拉列表,选中要更新的版本1.0.1。
然后弹出提示框,确定是否更新。
成功更新到指定版本后,组件历史版本较旧的版本列表将不再显示,如果更新的版本是该组件的最新版本,则版本选择框整体不再显示。
切换到新版本并进行规则保存后,不再提供组件的向下降级,提醒您在进行流程内组件版本的升级时,请确认应用流程规则已进行过保存备份。
➡️ 多段流程使用了组件的多个版本,运行时相互之间不会受到影响;
➡️ 在某些极端情况下,用户开发的相同组件的不同版本可能调用了外部动态链接库的不同版本而未做命名空间隔离,敬请尽量不要在单段流程内使用组件的不同版本。
示例
Json提取单条
描述
通过http请求组件获取https://www.huoyuyan.com/help/demo-pages/spider/json.html
的json源码,提取排行榜排名第一的姓名,JSON表达式:rows[0]['hs_Character'][0]['hs_Character_Fullname_Cn']
。
配置
输出结果
Json提取多条
描述
通过http请求组件获取https://www.huoyuyan.com/help/demo-pages/spider/json.html
的json源码,提取排行榜所有的排行姓名,JSON表达式:rows[*]['hs_Character'][0]['hs_Character_Fullname_Cn']
。
配置
输出结果
Json提取表格
描述
通过http请求组件获取https://www.huoyuyan.com/help/demo-pages/spider/json.html
的json源码,提取排行榜所有排行的中文姓名、出生日期、英文姓名、出生地,JSON表达式:rows[*]['hs_Character'][0]
,筛选保留列名:hs_Character_Fullname_Cn,hs_Character_Birthday,hs_Character_Fullname_En,hs_Character_BirthPlace_Cn
。
配置
输出结果
Json完整对象
描述
通过http请求组件获取https://www.huoyuyan.com/help/demo-pages/spider/minijson.html
的json源码,将提取结果输出到万能变量jsonObj,T模式下用jsonObj分别提取如下数据(一行一条):
字符串类型:{{jsonObj.title}}
数值类型:{{jsonObj.quantity}}
布尔类型:{{jsonObj.ismap}}
数组类型:{{jsonObj.figures_origin}}
数组evaluates第一个对象的type属性:{{jsonObj.evaluates[0].type}}
对象types中entries数组第一个对象的vname属性:{{jsonObj.types.entries[0].vname}}
说明:Json数据结构是一个无序的键值对集合,每个键值对由一个键和一个值组成。