在Ruby中附加到JSON数组

时间:2014-04-02 16:53:45

标签: ruby arrays json

我有一个像这样结构的JSON数组

{"data":[{"Chris":[{"long":10,"lat":19}]},{"Scott":[{"long":9,"lat":18}]}]}

然后我在像Ruby这样的Ruby应用程序中追加这个数组

RbHash = JSON.parse(File.open('public/test.json').read);
RbHash["data"] << {Usrname: [{long: Lng.to_i, lat: Lat.to_i}]} 

我的问题是Usrname变量被添加到JSON数组中作为&#34; Usrname&#34;而不是它的实际价值。这是如何解决的?

1 个答案:

答案 0 :(得分:1)

如果您不想Usrname:,请不要使用Usrname:符号作为您的密钥。

RbHash["data"] << {"blah" => [{long: Lng.to_i, lat: Lat.to_i}]}

RE您的意见:

  

我希望密钥等于变量(Username)。 -

然后你需要使用旧的哈希语法。当您使用Username:时,您将符号定义为键;如果您想使用变量的值作为键,则需要使用Username => ...

RbHash["data"] << { Username => [{long: Lng.to_i, lat: Lat.to_i}]}