我正在尝试解析一个类似于以下格式的 JSON 字符串:
JSON.parse("{'foo' : 42 }")
然而,这导致了一个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>'
我认为JSON解析器期望
'
字符是"
字符。我有数千兆字节的这类文件,所以我想让解析器能够正常工作。由于某些值也可能包含'
字符,因此我不能简单地对它们进行搜索和替换,因为那样可能会破坏原始内容。你有什么建议可以使JSON解析器解析这个问题吗?
。一个
'` 被称为单引号。 - sawaeval
加载文件(因为它们是有效的JavaScript,即使不是有效的JSON),然后使用JSON.stringify
重新序列化它们。 - James M