gpt4 book ai didi

ruby - 在 Ruby 中删除 JSON 键中的 '-' 分隔符

转载 作者:太空宇宙 更新时间:2023-11-03 18:30:26 25 4
gpt4 key购买 nike

我正在尝试从 Tumblr API 读取一些 JSON 数据。

我正在使用 Hashie gem 将值读取为对象属性。这应该使阅读更容易/更清洁。

它变成了这样:

data['post']['title']

进入这个:

data.post.title

不幸的是,有些键以“-”作为分隔符,如下所示:

regular-title: Mijn eerste post
format: html
regular-body: <p>post</p>

因此我不能使用 post.regular-title。有没有办法将所有的减号(-)替换为下划线(_)?

最佳答案

这样做就可以了:

def convert_object(data)
case data
when Hash
data.inject({}) do |h,(k,v)|
h[(k.respond_to?(:tr) ? k.tr('-', '_') : k)] = convert_object(v)
h
end
when Array
data.map { |i| convert_object(i) }
else
data
end
end

你可以这样使用它:

convert_object(JSON.parse('{"something-here":"value","otherkey":{"other-key":"value-value"}}'))

关于ruby - 在 Ruby 中删除 JSON 键中的 '-' 分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5064591/

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