十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

JSON转Excel:WPS表格里数组变字符串?用 TaoToken 接的 Codex 对照结构改

JSON转Excel:WPS表格里数组变字符串?用 TaoToken 接的 Codex 对照结构改 1. 数组变字符串不是 Bug是 WPS 加载项的默认行为你从接口拿到一段 JSON里面tags、items、skuList这类字段明明是数组粘进 WPS 加载项、点完「开始转换」新增的工作表里那一列却整整齐齐全是[a,b,c]这样的字符串。想按数组元素拆成多列或者一行拆成多行翻遍设置也没找到开关。这个现象在 JSON 转 Excel、JSON 转 WPS 表格的场景里非常常见尤其是处理嵌套 JSON 的时候。先把结论说清楚这不是工具坏了而是 WPS 加载项在转换时对「值中的数组」采取的默认策略——把整个数组序列化成一个字符串塞进单元格。原文的使用说明里也明确写了这条边界「值中的数组将转换为 WPS 工作表中的字符串」。同一份说明里还有几个容易踩的边界每次转换最多 1000 个对象行、每个数据集最多 100 个唯一属性列、专业版一次最多加载 20 个本地 JSON 文件。也就是说你看到的「全是字符串」是设计内的结果真正要解决的是在转换之前把嵌套数组整理成能铺成多列的扁平结构。这篇面向的是「配不通 / 现象排查」视角你已经装了 WPS 加载项也粘了 JSON但结果不符合预期不知道从哪下手。适合经常用 WPS 表格处理接口数据、又不想手写脚本的同学。下面我会用 TaoToken 接的 Codex 作为「结构对照与改写助手」让它对着 WPS 加载项实际吐出来的结果帮你把嵌套数组改成扁平结构再回 WPS 重新加载转换。TaoToken 在这里只负责给 Codex 供 Key 和兼容通道它不参与 JSON 到 WPS 表格的转换也不替代 WPS 加载项。2. 前置注册 TaoToken 并创建 Key填进本机 Codex原文「如何使用 WPS 加载项」的第一步是「准备 JSON 数据确保您的 JSON 数据格式正确」。这一步不要自己猜结构——嵌套数组到底该拍平成什么样取决于 WPS 加载项最终要铺成几列。我的做法是先让 Codex 帮我做结构对照而 Codex 需要一个可用的 Key 和兼容通道。打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 注册账号进入控制台创建一个 API Key。创建入口在控制台的 API Keys 页面https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。Key 只显示一次复制后先存到本地密码管理器或临时文件里。然后在本机 Codex 的配置里填两样东西Key 填你刚创建的那串Base URL 填 https://taotoken.net/api 。注意 Base URL 不要带 UTM 参数就用这个干净的地址。配置完成后Codex 的请求会走 TaoToken 的兼容通道你不需要改动 Codex 的其他使用习惯。这里再强调一次边界TaoToken 只负责给 Codex 供 Key 和兼容通道。JSON 到 WPS 表格的转换仍然由 WPS 加载项完成TaoToken 不碰你的表格数据也不替代 WPS 加载项。Codex 的角色是「帮你把 JSON 结构改写成适合转换的扁平形态」改完还是你自己粘回 WPS。如果你更想先在网页里验证模型通不通可以打开模型对话页面https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 随便问一句确认通道正常再回到 Codex 做结构改写。3. 可复制配置让 Codex 对照 WPS 输出改结构3.1 先拿到 WPS 加载项的真实输出不要凭空想象列名。正确顺序是先把原始 JSON 粘进 WPS 加载项点「开始转换」看新增工作表里到底生成了哪些列、数组列长什么样。比如原始 JSON 是这样{ orderId: A1001, customer: 张三, tags: [vip, new], items: [ { sku: S1, qty: 2 }, { sku: S2, qty: 1 } ] }WPS 加载项转换后tags列大概率是[vip,new]items列大概率是[{sku:S1,qty:2},{sku:S2,qty:1}]。这就是你要对照的「实际吐出来的结果」。3.2 用 Codex 做结构对照与扁平化改写把上面这段原始 JSON 和 WPS 实际输出的列名一起丢给 Codex让它输出一份「能铺成多列」的扁平 JSON。我常用的提示词结构是这样的下面是一段嵌套 JSON以及 WPS 加载项转换后实际生成的列。 WPS 把数组字段序列化成了字符串我需要你在转换前把它改成扁平结构 要求 1. tags 数组拆成 tags_1、tags_2 两列 2. items 数组按元素展开成多行每行保留 orderId、customer、sku、qty 3. 输出严格合法的 JSON不要注释不要多余文字。 原始 JSON {...} WPS 实际列orderId, customer, tags, itemsCodex 返回的扁平结构大致会是这样[ { orderId: A1001, customer: 张三, tags_1: vip, tags_2: new, sku: S1, qty: 2 }, { orderId: A1001, customer: 张三, tags_1: vip, tags_2: new, sku: S2, qty: 1 } ]这份结构里已经没有数组值了每个字段都是标量WPS 加载项转换时就不会再出现「数组变字符串」的列。注意行数原来 1 个对象展开成 2 行仍在「每次最多 1000 个对象」的边界内列数从 4 列变成 6 列也远低于「每个数据集最多 100 个唯一属性」的上限。3.3 关键参数对照表项目原始嵌套 JSON扁平化后说明tags 字段数组tags_1 / tags_2按位置拆列超出部分可截断或另起items 字段对象数组展开为多行每行复制父级字段行数12受 1000 行上限约束列数46受 100 列上限约束数组值会变字符串不存在数组值从源头规避如果你要长期做这类结构改写、甚至把它接进日常编码流程可以考虑 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 适合需要反复调用、批量处理 JSON 的场景。4. 验证重新加载转换确认数组列消失拿到扁平 JSON 后回到 WPS 加载项按原文路径走一遍准备 JSON 数据 → 加载 JSON 文件或直接粘贴→ 开始转换 → 查看新增工作表。验证要点有三个。第一新增工作表里不再出现[vip,new]这种带方括号和引号的字符串列tags_1、tags_2是干净的标量值。第二行数和你展开后的对象数一致比如上面例子应该是 2 行数据行。第三列名和你给 Codex 的预期一致没有多出莫名其妙的序列化列。如果一次要处理多个文件专业版支持一次最多加载 20 个本地 JSON 文件但每个文件仍各自受 1000 行、100 列约束。批量前建议先用一个文件跑通确认扁平结构没问题再批量。想确认 Codex 通道是否稳定可以回到模型对话页面再发一次请求https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 对比两次返回是否一致。接入相关的完整说明在文档里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。5. 本篇常见错排查5.1 改完还是字符串列最常见的原因是只改了字段名没真正把数组拆开。比如把tags改名成tags_list值还是数组WPS 照样序列化成字符串。判断方法在扁平 JSON 里搜[如果某个字段的值以[开头它就是数组必须继续拆。5.2 行数爆炸超过 1000嵌套数组展开时如果父级有多个数组字段同时展开行数会相乘。比如 10 个订单每个订单 20 个 items展开后是 200 行没问题但如果再叠一个 30 元素的数组就变成 6000 行直接撞上 1000 行上限。处理办法是分批转换或者只展开最关键的那个数组其余数组用拼接字符串保留。5.3 列数超过 100把数组按位置拆列时如果某个数组长度不稳定可能一次拆出几十列。多个这样的字段叠加很容易超过 100 列上限。建议对长数组做截断比如只保留前 5 个元素或者改成「数组转字符串但用分隔符」的形式牺牲一点结构换取列数可控。5.4 Codex 返回的不是合法 JSON有时模型会在 JSON 外面包一层说明文字或者用单引号。粘回 WPS 前先用本地工具校验一次比如python -m json.tool data.json报错就说明不是合法 JSON让 Codex 重新只输出 JSON 本体。5.5 配不通 Codex如果 Codex 报鉴权失败先检查 Base URL 是不是写成了带参数的地址。正确写法就是 https://taotoken.net/api 不要加多余路径。Key 如果泄露或失效去 API Keys 页面重新创建一个https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。6. 把结构改写固定成流程数组变字符串这件事本质是「转换前没做扁平化」。我的习惯是固定成三步先让 WPS 加载项跑一次拿到真实列名再把原始 JSON 和列名一起交给 Codex 做扁平化改写最后回 WPS 重新加载验证。三步里 Codex 只做结构改写转换始终由 WPS 加载项完成。如果你用的是 Claude Code 这类编码工具接入方式可以参考https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_codeutm_campaignrewrite 。把 Key 和 Base URL 配好之后结构改写的提示词可以存成模板下次换一份 JSON 直接套用比每次手拆数组快得多。
返回列表