Rails: 解析奇怪格式的 JSON

Rails: parse weirdly-formatted JSON

我的 JSON 来自外部服务的响应如下所示:

Parameters: {"{\"attributes\":{\"type\":\"Lead\",\"url\":\"/services/lead/2231\"},\"Id\":\"2231\",\"FirstName\":\"Jean\"}"=>nil, "external_id"=>"2231"}

如何解析 Rails 5 中的 IdFirstName 键?我已经尝试了一切。我知道 Rails 5 有 .to_unsafe_h 方法,这不是我的问题。它更奇怪的嵌套格式在上面的 "Jean" 之后具有 nil 的值。

如果你仔细观察,你会看到:

"{\"attributes\":{\"type\":\"Lead\",\"url\":\"/services/lead/2231\"},\"Id\":\"2231\",\"FirstName\":\"Jean\"}"其实就是一个字符串,一个key,和它关联的value值就是nil.

如果你想解析它,就可以使用parameters.keys[0].to_json;尽管我会首先仔细检查为什么您首先将参数设置为不正确的状态。