gpt4 book ai didi

ruby - 无法用 ruby​​ 解析 json

转载 作者:数据小太阳 更新时间:2023-10-29 08:01:08 24 4
gpt4 key购买 nike

我创建了以下类

  class Contact
def initialize(id, name, phone)
@id = id
@name = name
@phone = phone
end

def to_json(*a)
{
json_class: self.class.name,
data: { id: @id, name: @name, phone: @phone }
}.to_json(*a)
end

def self.json_create(o)
new( o[:data][:id], o[:data][:name], o[:data][:phone] )
end
end

我现在可以使用它把它转换成 json

Contact.new(1,'nik',10).to_json
=> "{\"json_class\":\"Contact\",\"data\":{\"id\":1,\"name\":\"nik\",\"phone\":10}}"

但是当我对其调用 JSON.parse 时,它会出现错误。

JSON.parse(Contact.new(1,'nik',10).to_json)
NoMethodError: undefined method `[]' for nil:NilClass
from (irb):44:in `json_create'

我从 this 中提取了语法教程。

最佳答案

去掉 json_create 方法中的符号。

def self.json_create(o)
new( o['data']['id'], o['data']['name'], o['data']['phone'] )
end

关于ruby - 无法用 ruby​​ 解析 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11232005/

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