gpt4 book ai didi

ruby - 如何在 Ruby 中用单引号 (') 解析 JSON 字符串?

转载 作者:数据小太阳 更新时间:2023-10-29 07:55:53 26 4
gpt4 key购买 nike

我正在尝试像这样解析 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>'

我认为它希望 ' 字符是 " 字符。因为我有数 GB 的此类文件,所以我想让解析器使用它。因为一些值可能还包含 ' 字符,我不能简单地运行搜索并替换它们,因为这可能会破坏原始内容。

关于如何让 JSON 解析器解析这个的任何建议?

最佳答案

I am trying to parse a JSON String like this:

JSON.parse("{'foo' : 42 }")

那不是 JSON 字符串。

However, this yields a JSON::ParseError:

这是正确的,因为字符串不是 JSON。

Any suggestions on how to make the JSON parser parse this?

你不能用 JSON 解析器解析它,因为它不是 JSON。

您需要弄清楚它是什么语言,然后使用该语言的解析器。

您发布的片段看起来像 YAML ,但这当然可能只是偶然的。

require 'yaml'

YAML.load("{'foo' : 42 }")
# => { "foo" => 42 }

但请注意,尝试从一个简短的示例中猜测语言是非常容易出错的。您应该与该连载的制作人协商,并询问他们这是什么语言。

关于ruby - 如何在 Ruby 中用单引号 (') 解析 JSON 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25243979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com