我有以下数组,我想将其添加到json文件中。
hrefs2 = hrefs.select { |key, value| key.to_s.match("xxxx") && !key.to_s.match("yyyy") } images2 = images.select { |key, value| key.to_s.match("hbeu") } File.open("my_file.json","w") do |f| f.write({ :links => hrefs2, :images => images2}.to_json)
我遇到的问题是在我的json文件中输出看起来像这样
{ "links":[link1,link2] "images":[image1,image2] }
我真正想要的输出是这样的
{ "links":"link1", "images":"image1", "links":"link2", "images":"image2" }
这是红宝石容易做的事情吗?
谢谢
答案 0 :(得分:1)
正如在评论中提到的那样,您要生成的JSON具有冲突的密钥。这将为您提供一个有效的JSON,我认为它更接近您所寻找的内容(只要链接数量与图像数量相同):
hrefs2 = [:link1, :link2]
images2 = [:image1, :image2]
my_json = hrefs2.zip(images2).map do |(link, image)|
{link: link, image: image}
end.to_json
puts my_json
#>> [{"link":"link1","image":"image1"},{"link":"link2","image":"image2"}]
答案 1 :(得分:0)
我只想编写一些代码来将JSON解析成你想要的任何格式。
另外,正如评论中所提到的,我会记住,如果你以那种格式存储它,如果你想真正与任何内置的集成,你绝对想要将其转换回来。哈希方法。