JSON文本:至少必须包含两个八进制?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (167)

如果在IRB中运行此代码段:

JSON.parse( nil )

您将看到以下错误:

TypeError: can't convert nil into String

nil,而不是TypeError。如果将所有输入转换为to_s

JSON::ParserError: A JSON text must at least contain two octets!
提问于
用户回答回答于
parsed = json && json.length >= 2 ? JSON.parse(json) : nil

如下:

module JSON
  def self.parse_nil(json)
    JSON.parse(json) if json && json.length >= 2
  end
end

parsed = JSON.parse_nil(json)
用户回答回答于

根据json.org

JSON建立在两个结构上:

  1. 名称/值对的集合。在各种语言中,这是作为一个对象、记录、结构、字典、哈希表、键列表或关联数组来实现的。
  2. 一个有序的值列表。在大多数语言中,这是作为数组、向量、列表或序列来实现的。

扫码关注云+社区

领取腾讯云代金券