【JSON】【1】处理换行符

本文探讨了在JSON格式数据中处理换行符的方法,详细介绍了JavaScript和Java中如何使用正则表达式来转义换行符,确保数据正确解析。通过具体的代码示例,读者可以了解如何避免因换行符导致的解析错误。
部署运行你感兴趣的模型镜像

前言:

json格式数据中是不能有换行符“\n”的,有的话解析时会抛出异常

正文:

JS:

var myJSONString = JSON.stringify(myJSON);
var myEscapedJSONString = myJSONString.replace(/\\n/g, "\\n")
                                      .replace(/\\'/g, "\\'")
                                      .replace(/\\"/g, "\\\"")
                                      .replace(/\\&/g, "\\&")
                                      .replace(/\\r/g, "\\r")
                                      .replace(/\\t/g, "\\t")
                                      .replace(/\\b/g, "\\b")

Java:

array.replaceAll("\n","\\\\n")

参考博客:

Json处理换行符 - dchjmichael的专栏 - 优快云博客
https://blog.youkuaiyun.com/dchjmichael/article/details/8243199

探究java中String.replaceAll方法把换行符(\n)替换为明文显示(\n)为何需要四个反斜杠(\\\\n) - 禤永豪 - 优快云博客
https://blog.youkuaiyun.com/xuanyonghao/article/details/75053469

 

转载于:https://www.cnblogs.com/huashengweilong/p/11349122.html

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### Python 使用 `json.dump` 输出带换行符的格式化 JSON 文件 在 Python 中,使用 `json.dump` 方法时,可以通过设置参数 `indent` 来控制输出的 JSON 文件是否带有换行符和缩进。`indent` 参数用于指定缩进的空格数,当其值为正整数时,输出的 JSON 数据将以指定的缩进级别进行格式化[^2]。 以下是实现代码示例: ```python import json data = { "key1": [1, 2, 3], "key2": [4, 5, 6] } with open('formatted_output.json', 'w') as f: json.dump(data, f, indent=4) ``` 上述代码中,`indent=4` 表示每个层级的缩进为 4 个空格。运行后生成的 `formatted_output.json` 文件内容如下: ```json { "key1": [ 1, 2, 3 ], "key2": [ 4, 5, 6 ] } ``` 可以看到,列表元素在换行时会带上换行符,并且按照指定的缩进级别对齐。 如果需要进一步自定义分隔符,可以结合 `separators` 参数使用。例如,以下代码展示了如何调整分隔符以减少冗余空格[^3]: ```python import json data = { "key1": [1, 2, 3], "key2": [4, 5, 6] } with open('custom_formatted_output.json', 'w') as f: json.dump(data, f, indent=4, separators=(',', ':')) ``` 生成的文件内容如下: ```json { "key1":[ 1, 2, 3 ], "key2":[ 4, 5, 6 ] } ``` 通过设置 `separators=(',', ':')`,可以在保持格式化的同时移除多余的空格。 ### 注意事项 - 如果未设置 `indent` 参数,输出的 JSON 数据将不会带有换行符或缩进,而是紧凑形式的一行数据。 - 当需要处理非 ASCII 字符时,建议设置 `ensure_ascii=False` 参数以确保输出正确的 Unicode 字符[^1]。 ```python import json data = { "name": "张三", "age": 25 } with open('unicode_output.json', 'w', encoding='utf-8') as f: json.dump(data, f, ensure_ascii=False, indent=4) ``` 生成的文件内容如下: ```json { "name": "张三", "age": 25 } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值