json字符串类型的value换行方案
按照标准json语法,字符串类型的value是不能换行写的.
例如,以下是错误的写法
{
"key":"hello
world"
}
但是遇到了需要在json中写代码与服务器交互的情况,无奈只能这样写:
{
"key":"var a = 1\nvar b = 2\n var c=a+b"
}
代码行数少了还好,多了极其**,于是想办法可以在json中换行写代码.
尝试1: json5
JSON5号称"JSON for Humans",相比标准json主要特点如下:
- 字符串value支持换行
- key可以不加""
- key和value可以使用''代替""
- 支持注释
- 二进制数值
- ...
栗子:
以下是一个合法的json5
{
// comments
unquoted: 'and you can quote me on that',
singleQuotes: 'I can use "double quotes" here',
lineBreaks: "Look, Mom! \
No \\n's!",
hexadecimal: 0xdecaf,
leadingDecimalPoint: .8675309, andTrailing: 8675309.,
positiveSign: +1,
trailingComma: 'in objects', andIn: ['arrays',],
"backwardsCompatible": "with JSON",
}
- 优点:现成
- 缺点:
- 换行需要用 \标识;
解析之后因为没有了换行,代码无法执行,所以是达不到目的的;
{ "key":"var a = 1\ var b = 2\ var c=a+b" } 解析之后的结果为 { "key":"var a = 1var b = 2var c=a+b&