我正在用Ruby创建一个JSON文件。我需要在JSON文件中创建对象"companies“。
预期结果:
{"companies":[
{\"label\":\"Wayfair \",\"values\":[54]},
{\"label\":\"Move24 \",\"values\":[29]},
{\"label\":\"Auto1 \",\"values\":[23]},
...
]}我得到的是:
[
"{\"label\":\"Wayfair \",\"values\":[54,54]}",
"{\"label\":\"Move24 \",\"values\":[29,29]}",
"{\"label\":\"GetYourGuide \",\"values\":[28,28]}",
"{\"label\":\"Auto1.com \",\"values\":[20,20]}", ...
]我的代码:
data_hash = data_hash.map {|k,v| {label: k, values: v}}
companies_json = []
data_hash.each do |hash|
companies_json << hash.to_json
end
File.open('companies.json', 'w') do |f|
f << companies_json
end发布于 2016-10-17 00:35:21
问题的核心是您创建了一个JSON字符串数组,而不是一个数组,然后生成JSON。而不是:
companies_json = []
data_hash.each do |hash|
companies_json << hash.to_json
end执行以下操作:
companies = []
data_hash.each do |hash|
companies << hash
end
companies_json = companies.to_jsonhttps://stackoverflow.com/questions/40072448
复制相似问题