在电子邮件的正文中发送JSON消息,在中途断开字符串

Hos*_*ork 1 javascript regex string email json

我希望人们能够从网页中抓取一部分JSON并通过电子邮件发送给某人.这似乎是不可能的,因为电子邮件系统(例如gmail)会打破这些行,可能会破坏中间的字​​符串常量...这使得无法解析回来.

我正在寻找一种转换JSON的最小方法,以便它在电子邮件有效负载中仍然可读和可识别,然后进行同样最小的转换.这意味着像UUENCODING这样的东西不合适; 我希望它能够看到它然后去"是的,那是JSON ......大多数."

似乎我对抗了一点墙.我可以假设线条允许多长时间并放入某种换行符:

{
    foo: [10 20],
    bar: "some really long string that the email would break\
and we handle the discontinuity with backslash or something"
}
Run Code Online (Sandbox Code Playgroud)

(更新:更好的可能是这个把字符串作为一个字符串数组传递的技巧,然后在接收时加入,但这比我希望的更具侵入性)

如果我不想设置已知的行长度限制,我必须假设空格不是很重要.也许在发送方的一些后处理步骤查看字符串内部并用空格替换\x20,并且读取侧的一些预处理步骤将字符串外部的所有文字空间折叠到单个空格和字符串内的所有文字空间完全离开?: - /

(顺便提一下,我的数据集的字符串中唯一的空格是空格和换行符.)

总的来说,我想知道是否有人可以想到一个简单的一般黑客来使JSON消息继续在一个媒体中工作,只是在感觉就像它会抛出换行符.代码越少越好!

Pat*_*ans 5

如果您的电子邮件客户端可以执行HTML电子邮件,您可以将代码包装在<pre></pre>标签中

将html电子邮件发送到json的gmail帐户时似乎有效.json文本看起来会破坏但是当你去json复制并粘贴到编辑器甚至控制台时它会正确粘贴并可以执行.当我使用Chrome和GMail作为电子邮件客户端测试时,它做得最少.

通过电子邮件发送<pre></pre>标签 在此输入图像描述

或者你可以将json包装在<div></div>任何标签中,并设置一个内联样式white-space:nowrap;,将整个json放在一个不间断的行上.

通过电子邮件发送 white-space:nowrap 在此输入图像描述

当然,这取决于电子邮件客户端的功能,如支持html和/或css.