所以我正在生成一个可能很长的 JSON 字符串,用于 Sendgrid 的 SMTP API。因为它作为 SMTP 标头,所以它应该有一个最大行长度(推荐 72,但绝对不要超过 1000)。结尾处的文档中描述了一种简单的解决方案:
http://docs.sendgrid.com/documentation/api/smtp-api/developers-guide/
他们建议这样做:
$js =~ s/(.{1,72})(\s)/$1\n /g;
但我不喜欢这样,因为它可能会在空格有意义的字符串中拆分。此外,当空间很少且相距甚远时,性能似乎非常糟糕。
现在我正在使用 Ruby,我可以执行以下操作:
JSON.generate(@hash, options)
其中 options 提供了http://flori.github.com/json/doc/classes/JSON.html#method-i-generate中记录的不同格式选项。但是这些都没有给我我想要的东西,即每隔一段时间带有换行符的简洁 JSON。
有任何想法吗?