我想插入RFC822电子邮件到一个JSON数据库。
我想设想一种“好”的方式来将电子邮件结构化为JSON (不包括附件)。
有没有人知道一个“好的”电子邮件JSON布局的例子,或者有没有人能推荐一个?
谢谢
更新:实际上,我希望看到的是JSON输出,而不是执行转换的代码。
发布于 2011-07-27 14:15:03
不是专门做的,但是Mail gem包含了一个方法,用于将方法序列化为YAML,也用于解析来自YAML的消息。它通过构造一个Hash对象,然后将该对象序列化为JSON来实现这一点。这也意味着它应该很容易转换为JSON。
这很可能看起来像这样的…
require 'json'
module Mail
class Message
def to_json(opts = {})
hash = {}
hash['headers'] = {}
header.fields.each do |field|
hash['headers'][field.name] = field.value
end
hash['delivery_handler'] = delivery_handler.to_s if delivery_handler
hash['transport_encoding'] = transport_encoding.to_s
special_variables = [:@header, :@delivery_handler, :@transport_encoding]
(instance_variables.map(&:to_sym) - special_variables).each do |var|
hash[var.to_s] = instance_variable_get(var)
end
hash.to_json(opts)
end
end
end 来自mikel's Mail gem的Message#to_yaml方法。
您可以在任何语言中采用类似的方法。但是,如果您使用的是Ruby,这将非常适合您现有的工具( Mail gem)。
发布于 2013-02-16 13:33:09
你可能想要一些列出头部和主体部分的东西的变体。
{
headers: [
{ name: value },
{ name2: value}
],
body: [
{
mime: type,
content: stuff
},
{
},
.
.
.
{
}
]
}https://stackoverflow.com/questions/6839951
复制相似问题