ruby-on-rails - 使用 json.parse 更新哈希数组中的值

标签 ruby-on-rails ruby ruby-on-rails-4

我有 a = first 这是

=> <Ng::EntityConfiguration id: 15881, entity_id: 1, entity_type: "Ng::Company", key: "wpa2.psk", value: "[{"ssid":"LVL6-Staff","password":"987654321", created_at: "2016-11-08 05:13:04", updated_at: "2016-11-08 05:13:04", name: "WIFI/Level 6">

所以当我调用a.value时,它会返回=> "[{"ssid":"LVL6-Staff","password":"987654321","dhcp":"已启用"}]"

然后,我想获取密码的值:

x = JSON.parse(a.value)
x.last['password']
=> "987654321"

我的问题是,在获取密码值后,我想将密码值更新为“123456789”并保存。如何实现?

最佳答案

这应该很简单。

string = '[{"ssid":"LVL6-Staff","password":"987654321","dhcp":"Enabled"}]'  # your `a.value`
json = JSON.parse(string)
new_password = '123456'       # or whatever
json.first['password'] = new_password
new_string = json.to_json     # "[{\"ssid\":\"LVL6-Staff\",\"password\":\"123456\",\"dhcp\":\"Enabled\"}]"

关于ruby-on-rails - 使用 json.parse 更新哈希数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40481786/

相关文章:

ruby-on-rails - Errno::ENOENT 没有这样的文件或目录 Rails 4

ruby-on-rails - 使用 Rails 在同一页面上显示多个表单

ruby - 在包含被测模块时使用 described_class

ruby-on-rails - 如何在 Rails 4 中使用 @font-face 嵌入字体?

ruby-on-rails - Rails 3 Routes with or without :id

ruby-on-rails - 我有一个 Rails 任务 : should I use script/runner or rake?

ruby-on-rails - 一些帮助找出日志中显示的与 ruby​​ on rails favicon 相关的错误

sql - 用于 250K+ 字符串的通配符搜索的 Fast(er) 方法

ruby-on-rails - 对多条路线使用同一个 Controller ?

ruby-on-rails - 使用 .select 或 .map 从 activerecord 模型中获取名称数组