我有一个这种形式的 javascript 对象
obj = "[
{
title: "Sean Kingston1",
duration: parseInt("71", 10),
},
{
title: "Sean Kingston2",
duration: parseInt("71", 10),
},
]"
Run Code Online (Sandbox Code Playgroud)
有没有办法将其转换为 ruby 哈希?
我尝试使用 JSON.parse 和 JSON.load
它们都抛出
JSON::ParserError: lexical error: invalid string in json text.
{ title: "Sean Kingston1
(right here) ------^
Run Code Online (Sandbox Code Playgroud)
是否有通用的解决方案,或者我应该使用正则表达式,然后在 ruby 中构造哈希?
ruby 1.9 支持这种类似于 javascript 对象的哈希
obj = "[
{
title: "Sean Kingston1",
duration: "71",
},
{
title: "Sean Kingston2",
duration: "71",
},
]"
Run Code Online (Sandbox Code Playgroud)
将其转换为 ruby 哈希值
eval(obj)
Run Code Online (Sandbox Code Playgroud)