我按照这个答案按照我的预期得到了json。
Json creation in ruby for a list
如果我使用该方法,我可以为字符串值生成json。
假设我在数组中有浮点值并迭代它们以生成json,它不会按预期生成JSON,它只生成该数组中的最后一个值,
这是我试过的代码,
my_arr = ["1015.62","1014.08","1012.1","1019.09","1018.9","1019.86","1019.84"]
tmp_str = {}
tmp_str["desc"] = {}
my_arr.each do |x|
tmp_str["desc"]["#{x[0]}"] = x
puts 'array'
end
puts JSON.generate(tmp_str)
上面的代码生成以下json
{"desc":{"1":"1019.84"}}
但我想让json如下,
{"desc":{"1":"1015.62","2":"1014.08","3":"1012.1","4":"1019.09","5":"1018.9","6":"1019.86","7":"1019.84"}}
我需要更改代码才能获得此代码?
答案 0 :(得分:1)
你很接近只需更改以下内容
my_arr.each_with_index do |x,i|
tmp_str["desc"]["#{i+1}"] = x
end
执行时输出
puts JSON.generate(tmp_str)
{"desc":{"1":"1015.62","2":"1014.08","3":"1012.1","4":"1019.09","5":"1018.9","6":"1019.86","7":"1019.84"}}