影刀RPA JSON数据处理:解析与生成实战
作者:林焱
前言
你辛辛苦苦从网页上抓数据,但很多网站的API直接返回JSON——结构化、干净、不用爬DOM。学会处理JSON,你就从"网页搬运工"升级为"数据工程师"。
一、JSON是什么——最简解释
JSON是一种数据格式。长这样:
{"name":"蓝牙耳机","price":99.90,"tags":["降噪","无线","入耳式"],"stock":{"北京":100,"上海":50}}对比一下:你用网页采集拿到的可能是"蓝牙耳机 ¥99.90 降噪|无线|入耳式"——一堆带空格和符号的文本,要写一大堆清洗逻辑。
JSON天然结构化:name是姓名、price是价格、tags是列表、stock是嵌套对象。解析干净,不用清洗。
二、什么时候你会接触到JSON
拼多多店群自动化报活动上架!
调用API:绝大部分Web API返回JSON格式
影刀内部数据传递:子流程之间传递复杂数据用JSON
配置文件导入:批量操作的数据源用JSON文件
影刀市场的流程:很多社区流程用JSON做配置
三、JSON解析
3.1 解析API返回的JSON
发送HTTP请求(GET某个API接口) → 得到响应文本(一串JSON字符串) → JSON解析 → 得到影刀字典/列表结构 → 从中提取需要的字段指令是"JSON解析"。输入是一串JSON文本,输出是结构化的字典或列表。
3.2 提取嵌套数据
{"code":200,"data":{"products":[{"name":"耳机A","price":99},{"name":"耳机B","price":199}],"total":2}}提取流程:
- JSON解析 → 得到字典
response - 取
response["data"]["products"]→ 得到列表 - ForEach遍历列表 → 提取每个商品的name和price
踩坑:第一步先检查response["code"]是不是200。如果不是,说明API调用失败,后面的数据提取必然出错。很多人跳过这步,直接取data,结果API返回错误信息格式完全不同,流程就崩了。
3.3 字段不存在时的处理
API的数据结构可能会变。今天product.price是数字,明天可能变成字符串或者干脆没有这个字段。
安全做法:
if 字典中存在键"price": 提取price else: price = "无数据"四、JSON生成
反过来,你要构造JSON数据发送给API:
创建字典: {"username": "admin", "password": "123456", "remember": true} JSON生成 → 得到JSON字符串: '{"username":"admin","password":"123456","remember":true}' 发送HTTP请求(POST,Body=上面的JSON字符串)指令是"JSON生成"。输入是字典/列表,输出是JSON字符串。
五、与Excel的数据转换
Excel → JSON → 发送API
1. 读取Excel区域 → 得到二维列表 2. 转为字典列表: [ {"name": "耳机A", "price": 99}, {"name": "耳机B", "price": 199} ] 3. JSON生成 → JSON字符串 4. HTTP POST → 批量上传到系统API返回JSON → Excel
TEMU店群矩阵自动化运营核价报活动
1. 发送HTTP请求 → 得到JSON响应 2. JSON解析 → 得到字典列表 3. 将字典列表转为二维列表: [["耳机A", 99], ["耳机B", 199]]  4. 写入Excel区域六、常见JSON错误
| 错误 | 现象 | 解决 |
|---|---|---|
| JSON格式错误 | 解析报错 | 检查是否有缺失的引号/逗号/大括号 |
| 键名写错 | 取了空值 | 大小写敏感,Name≠name |
| 类型不匹配 | 数字比较出错 | price本来是数字,API返回了字符串"99" |
| 嵌套层级搞错 | 取了错误的层级 | 打印整个JSON结构看看实际层级 |
| 中文乱码 | 显示问号或方块 | API返回文本确保是UTF-8编码 |
七、调试JSON的实用方法
方法1:打印中间变量。在JSON解析后,用"显示提示框"或"日志输出"把整个解析结果打出来看。
方法2:在线JSON格式化。把API返回的JSON文本复制到 json.cn 或 jsonformatter.org,格式化后再看结构——比盯着压缩的一行文本效率高很多。
方法3:逐步取字段。先取最外层,确认正确,再取下一层。逐层验证,不要一口气取到最深层——出错了不知道哪层的问题。
八、总结
JSON处理是RPA从"网页抓取"走向"系统对接"的分水岭。学会JSON,你就能调用API、处理复杂数据结构、与各种系统互通数据。这是影刀进阶的必经之路。
下一篇讲正则表达式入门——文本处理的终极武器。
作者:林焱
影刀RPA深耕实践者,致力于让每个普通人都能学会自动化