gpt4 book ai didi

ruby - 使用最大行长度简洁地序列化 JSON

转载 作者:数据小太阳 更新时间:2023-10-29 08:09:58 27 4
gpt4 key购买 nike

所以我生成了一个可能很长的 JSON 字符串,用于 Sendgrid 的 SMTP API。因为它作为 SMTP header ,它应该有最大行长度(建议 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)

选项提供不同的格式选项,记录在 http://flori.github.com/json/doc/classes/JSON.html#method-i-generate .但这些都没有给我想要的东西,即每隔一段时间带有换行符的简洁 JSON。

有什么想法吗?

最佳答案

options = {
indent:'',
space:"\n",
space_before:"\n",
object_nl:"\n",
array_nl:"\n",
}

这会在不影响 JSON 语义的每个地方放置一个换行符,并禁用任何缩进。

它既不简洁也不人性化,但换行符只是 1 个额外的字符,因此拥有大量换行符不会以任何实际方式影响性能。它还为您提供尽可能短的行,而不会影响字符串的内容。您可能应该检查这些以确保它们都在长度限制内。

关于ruby - 使用最大行长度简洁地序列化 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11231110/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com