解析包含 json 字符串的 json

Parse a json that contain json string

我有一个 json,里面有另一个 json。但它在双引号内,因为它给了我一个解析错误。除了使用 gsub 替换双引号之外,还有什么方法可以解析这个 json..

obj={Name:"{\"FirstName\":\"Douglas\",\"LastName\":\"Crockford\"}"}

我想要这样

{Name:{FirstName:"Douglas",LastName:"Crockford"}}

有什么方法可以使用 Ruby 来实现吗?

再次调用 JSON.parse 值:

obj.transform_values { |v| JSON.parse(v) }
#=> {:Name=>{"FirstName"=>"Douglas", "LastName"=>"Crockford"}}

当您还在 Ruby <2.4 时,还有更多步骤:

obj.map { |k, v| [k, JSON.parse(v)] }.to_h