JSON对象操作

假设我们有以下描述Person的JSON对象:

{ "firstName": "John", "lastName": "Smith", "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021" }, "phoneNumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] 

}

有人可以建议在Rails 3中操作前一个对象的最优雅和最有效的方法吗?

我希望能够:

  1. 添加“firstname”,“lastname”等其他元素。
  2. 删除现有元素
  3. 更改元素而不删除它或添加新元素。 (例如,将名字改为“尼克”)

提前致谢。

PS。 我更喜欢在Controller中操作它!

只是解析它并改变它

 hash = JSON.parse(json_data) hash["firstname"] = "John" hash.delete("lastname") new_json = hash.to_json 

PS JSON.parse可能不起作用 – 它取决于您正在使用的JSON库。 试试这个:

 ActiveSupport::JSON.decode(json_data)