当前位置: 首页 > article >正文

【python】带有\n的json字符串,如何优雅打印

  • 要优雅地打印这个 JSON 数据中的内容,可以使用 Python 进行格式化处理。推荐的方法如下:

方法 1:使用 json.loads() 解析并格式化打印

Python 的 json 库可以解析 \n 并转换成易读的格式:

import json

# 你的 JSON 数据
data = {
    "action_data": "[\n    {\n        \"start_time\": \"03:33.33\",\n        \"end_time\": \"03:41.34\",\n        \"lrc_length\": \"8.01s\",\n        \"rhythm\": \"过去过去\\n珍惜拥有\",\n        \"singer_performance\": \"歌手吟唱,神情沉静,目光下垂。\"\n    },   }\n]"
}

# 解析 JSON 字符串
action_data = json.loads(data["action_data"])

# 格式化打印
print(json.dumps(action_data, indent=4, ensure_ascii=False))

方法 2:使用 pprint 进行格式化打印

如果想要更易读的格式,可以使用 pprint:

from pprint import pprint

# 解析 JSON
action_data = json.loads(data["action_data"])

# 美观打印
pprint(action_data, width=80)

方法 3:逐条打印内容并格式化 \n

如果你希望逐行展示 rhythm 字段中的换行符 \n,可以这样做:

for entry in action_data:
    print(f"时间: {entry['start_time']} - {entry['end_time']}")
    print(f"歌词:\n{entry['rhythm'].replace('\\n', '\n')}")
    print(f"表演: {entry['singer_performance']}\n")
    print("=" * 40)  # 分隔线

我的代码

  • json的 dump 变为一个字符串后 放在一个dict里
  • 从dict里获取到字符串,这个时候dump 出来的还是带 \n 的。
  • 如果先 通过json的load加载str ,变声一个json对象
  • 这样就能去掉 \n 了
  • 然后用json dump 指定indent 啥的 做dump
  • 对于dump后的数据,此时打印的json对象就是没 \n 而且格式化输出的json对象的样子。

http://www.kler.cn/a/591807.html

相关文章:

  • goweb中文件上传和文件下载
  • 监控视频联网平台在智慧水利中的应用
  • 技术革命、需求升级与商业生态迭代——基于开源AI大模型与智能商业范式的创新研究
  • 深入理解静态与动态代理设计模式:从理论到实践
  • Oracle常见系统函数
  • 华为供应链的变革模式和方法P105(105页PPT)(文末有下载方式)
  • 3D视觉相机引导机器人的原理
  • MongoDB下载安装
  • 深度学习框架PyTorch——从入门到精通(4)数据转换
  • vue/react前端项目打包的时候加上时间,防止后端扯皮
  • Python 视频爬取教程
  • 【SpringMVC】深入解析基于Spring MVC与AJAX的用户登录全流程——参数校验、Session管理、前后端交互与安全实践
  • 【eNSP实战】旁挂二层组网—隧道转发
  • 【在数轴上找最优位置,使移动距离最短】
  • 在NET6项目中报错,未能在命名空间System.Data.SqlClient中找到类型名SqlCommand,解决办法
  • Linux系统移植篇(十一)Linux 内核启动流程
  • 33、class
  • [本周五题]Javascript面试常考题手撕场景UR缓存、new关键字、大数相加、最长递增子序列、高并发请求、大文件上传和WebWorks
  • 基于FPGA的3U机箱模拟量高速采样板ADI板卡,应用于轨道交通/电力储能等
  • 精准git动图拆解​