JSON 多格式互转
六种格式各自的脾气
- NDJSON(又叫 JSON Lines)
- 一行一个完整 JSON 对象,行之间没有逗号也没有外层方括号。ELK、BigQuery、OpenAI 的批处理接口都用它,好处是可以边读边处理、不必把整个文件装进内存。转成数组是为了好看,真要处理大文件反而应该留在 NDJSON。
- Cookie 串
- 浏览器请求头里的那一长串
a=1; b=2。值里带中文或特殊字符时一般是 URL 编码过的,上面可以选要不要顺手解码。注意 Cookie 的值本身允许包含=,本页按第一个=拆分。 - HTTP 头
- 一行一个
Name: value。也认 curl 的-H 'Name: value'写法,从「复制为 cURL」里抠请求头很方便。同名头(如多条Set-Cookie)转成 JSON 时会变成数组。 - SQL INSERT
- 支持
INSERT INTO t (a,b) VALUES (1,'x'),(2,'y');这种多值写法,也支持多条语句连着贴。字符串里的\'和''转义都认。反向生成时,JSON 里的对象和数组会被序列化成字符串塞进去。 - Map 打印
- Java 的
System.out.println(map)打出来的{a=1, b=xx},以及 Python 的{'a': 1, 'b': None, 'c': True},都能转回 JSON——日志里捞出来的东西经常是这个样子。Java 那种格式丢了引号,所以{a=1}里的 1 到底是数字还是字符串 "1" 无从判断,本页按看起来像数字就当数字处理。 - 文本列表
- 一行一条的纯文本和 JSON 数组互转,也认 Java 的
[a, b, c]打印格式。常用来把 Excel 里复制出来的一列直接变成数组喂给接口。 - 相关工具
- 表格互转(CSV / Markdown / HTML 表格)、JSON/GET 互转、Properties 转换、YAML/JSON 互转、XML/JSON 互转。