Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Ruby在循环中创建JSON数据?_Ruby_Json - Fatal编程技术网

如何使用Ruby在循环中创建JSON数据?

如何使用Ruby在循环中创建JSON数据?,ruby,json,Ruby,Json,我需要使用Ruby代码(仅限Ruby而非Rails)在循环中创建JSON数据 我需要的代码如下所示 for i in 0..2 jsondata = {:aaa => 1.4, :bbb => 0.89, :ccc => 0.6, :ddd => 1.3} end final jsondata = [{:aaa => 1.4, :bbb => 0.89, :ccc => 0.6, :ddd => 1.3}, {:aaa => 1.4,

我需要使用Ruby代码(仅限Ruby而非Rails)在循环中创建JSON数据

我需要的代码如下所示

for i in 0..2
   jsondata = {:aaa => 1.4, :bbb => 0.89, :ccc => 0.6, :ddd => 1.3}
end

final jsondata = [{:aaa => 1.4, :bbb => 0.89, :ccc => 0.6, :ddd => 1.3}, {:aaa => 1.4,
:bbb => 0.89, :ccc => 0.6, :ddd => 1.3}, {:aaa => 1.4, :bbb => 0.89, :ccc => 0.6, :ddd 
=> 1.3}] (3 times loop. Not unique data everytime different data)

finaljsondata应该包含循环中运行的所有jsondata。这是最终的JSON数据。

您可以使用ruby内置的JSON库和一个数组来执行此操作:

require 'json'
entries = []

entries = (0..2).map |i|
  {:aaa => 1.4, :bbb => 0.89, :ccc => 0.6, :ddd => 1.3}
end

p entries
# => [{:aaa=>1.4, :bbb=>0.89, :ccc=>0.6, :ddd=>1.3}, {:aaa=>1.4, :bbb=>0.89, :ccc=>0.6, :ddd=>1.3}, {:aaa=>1.4, :bbb=>0.89, :ccc=>0.6, :ddd=>1.3}]

p entries.to_json
# => "[{\"aaa\":1.4,\"bbb\":0.89,\"ccc\":0.6,\"ddd\":1.3},{\"aaa\":1.4,\"bbb\":0.89,\"ccc\":0.6,\"ddd\":1.3},{\"aaa\":1.4,\"bbb\":0.89,\"ccc\":0.6,\"ddd\":1.3}]"

注意:如果您只需要一个散列数组,而不是实际的JSON字符串,您可以去掉
要求的“JSON”

您的问题有点让人困惑,所以我不确定您希望实现什么,但类似的方法应该可以:

data = (0..2).map do |i|
  { :a => i, :b => (i+1) }
end

问题并不十分清楚,但这将完全符合您的要求:

require 'json'

json_data = 3.times.map { {:aaa => 1.4, :bbb => 0.89, :ccc => 0.6, :ddd => 1.3} }
json_data.to_json

=> "[{\"aaa\":1.4,\"bbb\":0.89,\"ccc\":0.6,\"ddd\":1.3},{\"aaa\":1.4,\"bbb\":0.89,\"ccc\":0.6,\"ddd\":1.3},{\"aaa\":1.4,\"bbb\":0.89,\"ccc\":0.6,\"ddd\":1.3}]"

所以我接受了答案!