如何解析像这样的JSON字符串:
"[{\"something\": \"information \"YES\"\", \"next\": \"normal\"}]"
我已经使用了json gem和Oj gem,但它们都遇到了错误。我也尝试过使用eval()。
我也尝试使用不同的正则表达式来定位YES周围的引号,并用单引号替换它们,但我还没有成功找出它。
答案 0 :(得分:3)
您发布的字符串无效JSON。这将是非字符串化的JSON:
[{"something":"information \"YES\"","next":"normal"}]
请注意,转义仍然存在于something
的值中。
如果您将此JSON作为字符串,则双引号转义取决于您正在使用的语言。在Ruby中,这就是它的样子:
"[{\"something\":\"information \\\"YES\\\"\",\"next\":\"normal\"}]"
如果您使用它,您将能够解析它:
JSON.parse("[{\"something\":\"information \\\"YES\\\"\",\"next\":\"normal\"}]")
#=> [{"something"=>"information \"YES\"", "next"=>"normal"}]