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

如何将JSON数据作为多行文本嵌入JSON列表并保存为格式化文件

解决JSON中多行字符串存储问题

要让JSON文件里的networkLogFilePath值呈现为多行文本,核心是在字符串中插入换行符\n——因为JSON本身不支持原生多行字符串,只能通过显式的换行标记实现文件中的多行显示。以下是具体实现方案:

方案一:预处理日志内容,生成带换行的字符串

如果你的网络日志本身是JSON格式的大型数据,先将日志用json.dumps格式化带缩进,再作为字符串存入mylist:

import json

# 假设这是你的网络日志原始数据
network_log_data = {
    "requests": [{"url": "https://example.com", "status": 200}, ...],
    "responses": [...]
}

# 把日志格式化为带缩进的多行字符串
formatted_log = json.dumps(network_log_data, indent=4)

# 追加到站点数据列表
mylist.append({
    "networkLogFilePath": formatted_log,
    "siteName": "目标站点"
})

# 保存最终JSON文件
with open("sites_data.json", "w", encoding="utf-8") as f:
    json.dump(mylist, f, indent=4, ensure_ascii=False)

生成的JSON文件中,networkLogFilePath的内容会因包含\n和缩进,在文本编辑器中显示为多行。

方案二:读取已有日志文件,直接保留原换行

如果网络日志已经是本地的JSON文件,直接读取文件内容(自带换行)存入即可:

# 读取本地日志文件的原始内容
with open("network_log.json", "r", encoding="utf-8") as f:
    log_content = f.read()

# 追加到站点数据列表
mylist.append({
    "networkLogFilePath": log_content,
    "siteName": "目标站点"
})

# 保存最终JSON文件
with open("sites_data.json", "w", encoding="utf-8") as f:
    json.dump(mylist, f, indent=4, ensure_ascii=False)

关键说明

  • JSON规范里没有“多行字符串”概念,所有字符串本质是单行存储,但文本编辑器会解析\n为换行,所以只要字符串内包含\n,打开文件时就会呈现多行效果。
  • 之前用json.dumps的indent参数只对整个JSON结构生效,不会处理单个字符串内部的格式,因此需要单独预处理要存入的日志字符串。

内容的提问来源于stack exchange,提问作者Swati Mishra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 00:47:03