我正在尝试解析这样的 JSON 字符串:
JSON.parse("{'foo' : 42 }")
Run Code Online (Sandbox Code Playgroud)
然而,这会产生一个 JSON::ParseError:
JSON::ParserError: 757: unexpected token at '{'foo' : 42 }'
from /Users/nils/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/json/common.rb:155:in `parse'
from /Users/nils/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/json/common.rb:155:in `parse'
from (irb):2
from /Users/nils/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>'
Run Code Online (Sandbox Code Playgroud)
我认为它期望'
角色是一个"
角色。由于我有多个 GB 的此类文件,因此我想让解析器使用它。由于某些值可能还包含'
字符,因此我不能简单地运行搜索并替换它们,因为这可能会破坏原始内容。
关于如何让 JSON 解析器解析这个的任何建议?
我正在尝试解析这样的 JSON 字符串:
Run Code Online (Sandbox Code Playgroud)JSON.parse("{'foo' : 42 }")
那不是 JSON 字符串。
但是,这会产生一个
JSON::ParseError
:
这是正确的,因为字符串不是 JSON。
关于如何让 JSON 解析器解析这个的任何建议?
你不能用 JSON 解析器解析它,因为它不是 JSON。
您需要弄清楚它是什么语言,然后使用该语言的解析器。
您发布的代码段看起来像YAML,但当然这可能只是偶然。
require 'yaml'
YAML.load("{'foo' : 42 }")
# => { "foo" => 42 }
Run Code Online (Sandbox Code Playgroud)
但请注意,试图从一个简短的示例中猜测语言是非常容易出错的。您应该与该序列化的制作者协商并询问他们它是什么语言。
归档时间: |
|
查看次数: |
2515 次 |
最近记录: |