gpt4 book ai didi

ruby - 使用 nils 遍历 ruby​​ 嵌套哈希?

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

<分区>

假设我从 API 取回 JSON 嵌套哈希(或哈希数组)

@example = {"results" = > {{"poop" => "shoop"},{"foo" => {"shizz" => "fizz", "nizzle"=>"bizzle"}}}

上面嵌套散列的 YAML 标记

  - poop: shoop
- foo:
shizz: fizz
nizzle: bizzle

现在让我们从散列中使用 ActiveRecord 创建一个数据库条目。这很好用。

Thing.create!(:poop  => @example["results"]["poop"],
:shizz => @example["results"]["foo"]["shizz"],
:nizzle=> @example["results"]["foo"]["nizzle"])

但是,如果“foo”为空或 nil 怎么办?例如,如果 API 结果的“人”散列包含“名字”、“姓氏”# 等,则“人” "如果没有数据,哈希通常为空,这意味着其中的哈希不存在。

@example = {"results" = > {{"poop" => "shoop"},{"foo" => nil }}

Thing.create!(:poop => @example["results"]["poop"],
:shizz => @example["results"]["foo"]["shizz"],
:nizzle=> @example["results"]["foo"]["nizzle"])

NoMethodError: You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.[]

处理此问题的最佳方法是什么?

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