You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jq从命令行将文本文件转换为单个JSON字符串?

命令行将文本文件转为单个JSON字符串

可以通过以下几种常用命令行工具实现需求:

使用jq工具

jq是处理JSON的轻量工具,能直接将文本内容转义为合法的单个JSON字符串:

jq -Rs . input.txt > output.json
  • -R:将输入识别为原始字符串而非JSON格式
  • -s:把所有输入行合并成单个字符串
  • .:输出处理后的最终字符串

执行后,output.json中会生成包含转义换行符\n和正确双引号的单个JSON字符串,不会产生字典或多字符串结构。

使用Python(无额外依赖)

如果系统自带Python,可通过一行命令完成转换:

python -c "import json,sys; print(json.dumps(sys.stdin.read()))" < input.txt > output.json
  • json.dumps()会自动处理字符串中的双引号、换行符等特殊字符,确保输出为标准的单个JSON字符串

使用awk(适用于轻量环境)

在没有jq和Python的环境中,可借助awk实现:

awk '{ gsub(/"/, "\\\""); printf "%s\\n", $0 }' input.txt | awk '{printf "\"%s\"", $0}' > output.json
  • 第一步转义文本中的双引号,并给换行添加转义符
  • 第二步为整个内容包裹外层双引号,形成合法JSON字符串

注意:以上方法都会完整保留原文本内容,同时处理所有特殊字符,输出符合要求的单个JSON字符串。

内容的提问来源于stack exchange,提问作者Mathieu Longtin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 04:09:50