gpt4 book ai didi

ruby-on-rails - Ruby 数组构造

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

我有以下 json,

{
"items": [
{
"name": "table",
"item_group": [
{
"code": "code1",
"section": [
{
"unit": "centimeter",
"values": [
{
"display": "151.13 centimeter"
}
]
},
{
"unit": "centimeter (qualifier value)",
"values": [
{
"display": "170.39 centimeter"
}
]
}
],
"total": 2
}
],
"more_results": false,
"total": 1
}
]
}

我如何遍历它并创建一个“值”数组。我想要 [151.13 厘米,170.39 厘米,....]。请在这方面指明方向。谢谢。

注意:我必须在 Haml 中执行此操作。

最佳答案

我知道有多种方法可以做到这一点。但如果你真的有很多复杂的 JSON 查询,你可以尝试 ruby-jq gem .它非常快,因为它使用 linux 管道

require 'jq'
require 'jq/extend'
json_content = {
"items": [
{
"name": "table",
"item_group": [
{
"code": "code1",
"section": [
{
"unit": "centimeter",
"values": [
{
"display": "151.13 centimeter"
}
]
},
{
"unit": "centimeter (qualifier value)",
"values": [
{
"display": "170.39 centimeter"
}
]
}
],
"total": 2
}
],
"more_results": false,
"total": 1
}
]
}


jq_filter = ' .items | .[].item_group |.[].section| . [ ] .values | . [ ] .display'

final_array = json_content.jq(jq_filter)

# => final_array = ["151.13 centimeter", "170.39 centimeter"]

关于ruby-on-rails - Ruby 数组构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32081640/

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