我正在用JSON格式编写一些数据文件,并希望将一些非常长的字符串值分成多行.使用python的JSON模块我得到了很多错误,无论是使用\还是\n作为转义.
是否可以在JSON中使用多行字符串?这主要是为了视觉上的舒适,所以我想我可以在我的编辑器中翻开自动换行,但我只是有点好奇......
根据文档,我希望在编码 JSON 时JSON_UNESCAPED_LINE_TERMINATORS保留\n未转义的换行符 ( ) 字符,以便保留实际的换行符:
JSON_UNESCAPED_LINE_TERMINATORS(整数)行终止符在提供
时保持未转义。JSON_UNESCAPED_UNICODE它使用与 PHP 7.1 之前相同的行为,但没有此常量。从 PHP 7.1.0 开始可用。
最小的例子:
$ php -r 'echo json_encode(["foo" => "bar\nbaz"], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_LINE_TERMINATORS) . "\n";'
{"foo":"bar\nbaz"}
Run Code Online (Sandbox Code Playgroud)
我期望:
{"foo":"bar
baz"}
Run Code Online (Sandbox Code Playgroud)
(请注意,这是有效的 JSON;仅\且" 必须在字符串中转义。)
为什么这个选项没有按预期工作?