如何使用jq将逐行排列的字符串列表转换为JSON数组
逐行字符串列表转JSON数组操作方法
下面是不同场景下的常用实现方案:
Shell命令实现(适用于Linux/macOS/WSL环境)
依赖轻量JSON处理工具jq,一行命令即可完成转换:jq -R -s -c 'split("\n") | map(select(length > 0))' 你的输入文件路径
参数说明:-R按原始字符串读取输入,-s将所有输入内容作为单个字符串处理,split("\n")按换行符拆分字符串为数组,select(length > 0)用于过滤空行,不需要过滤空行可以删掉这部分。
Python脚本实现(跨平台通用)
只要设备装了Python就能用,适配所有操作系统:
import json # 读取逐行存储的输入文件 with open("你的输入文件路径", "r", encoding="utf-8") as f: # rstrip("\n")仅移除行尾换行符,保留行首尾原有空格;if line.strip()用于过滤空行 result = [line.rstrip("\n") for line in f if line.strip()] # 输出JSON数组,ensure_ascii=False保留中文等非ASCII字符 print(json.dumps(result, ensure_ascii=False))
编辑器手动操作(适用于短文本内容)
如果内容不多不想跑代码/命令,用VS Code、Sublime等支持正则替换的编辑器就能快速操作:
- 按下
Ctrl+H(macOS按Cmd+H)打开替换面板,开启正则匹配模式 - 查找内容输入
^(.*)$,替换为内容输入"$1",,执行全部替换 - 删掉最后一行末尾多余的逗号,在内容首尾分别加上
[和]就完成了。
内容的提问来源于stack exchange,提问作者bisgardo
相关产品推荐
相关产品推荐

