扣子平台上如何进行对象序列化,JSON序列化和反序列化节点的使用
大家好,我是涛涛,欢迎来到我的频道。
一、JSON 序列化节点作用
JSON 序列化节点能把数据结构,也就是变量,转换成 JSON 格式的字符串,这样方便下游节点处理。
扣子工作流节点能支持 Object、Array 这些复杂类型的输入和输出格式。在数据传输和处理的时候,常常得转换数据类型,让下游节点能处理。JSON 序列化和反序列化就是常用的数据类型转换办法。比如说,要把某个节点输出的 Object 对象存到扣子数据库里,得先把这个 Object 对象转成 JSON 字符串,再通过数据库节点存到 String 类型的字段里。
二、JSON 反序列化节点作用
JSON 反序列化节点的作用呢,就是从 JSON 格式的字符串里,把里面的字段内容提取出来,当成变量使用。
在扣子工作流里,有些节点输出的常常是 JSON 格式的字符串。这时候呢,就需要把它格式化,然后提取里面的字段当成变量,方便后续节点调用。给大家举个例子啊,通过 HTTP 节点去调用业务 API 查询用户信息,这个节点返回的输出变量 body 就是 JSON 字符串。咱们就可以用 JSON 反序列化节点,把里面的姓名、年龄、地址这些字段内容提取出来当成变量使用。
现在扣子工作流已经支持JSON序列化节点和反序列化节点啦。它能把 Object 对象这些常见数据类型转成 JSON 字符串,也能把 JSON 字符串还原成指定的数据结构,也就是变量。和代码节点比起来,JSON 序列化和反序列化节点不用写代码,可视化程度高,操作起来更方便。
三、示例演示
下面我通过一个实例来演示下。
(一)反序列化节点
假设我要测试一个图生视频的循环节点,接受的参数是图片列表。如果单独设定变量,需要一张张上传图片,如何才能利用已有的线上图片呢,这个时候我们可以添加反序列化节点来存储网上已有的图片地址。并解析为ojbect作为下个节点的输入。
["https://s.coze.cn/t/1vrcBkF1x1Q/","https://s.coze.cn/t/1vrcBkF1x1Q/","https://s.coze.cn/t/1vrcBkF1x1Q/","https://s.coze.cn/t/1vrcBkF1x1Q/","https://s.coze.cn/t/1vrcBkF1x1Q/"]
节点配置
这样就不用再添加图片上传按钮,可以直接使用线上图片了。
(二)序列化节点
假设我们的数据是json对象,对于有多个信息的obj传输采用单个变量接受,很是麻烦,
{
"name":"zhangsan","age":20,"tel" :123234121"add" :"北京市XXXX"}
这个时候我们就可以采用序列化节点,转为字符串传输给下一个节点或者保存到数据库里面。
今天就讲到这里,感谢你的收看。其实还有很多好玩有用的节点,我们后期再一个一个讲解。