Разбор JSON объекта списка в Ruby хэш - PullRequest
0 голосов
/ 08 июля 2020

Итак, я хочу разобрать этот JSON на Ruby ha sh, но JSON имеет тип list, поэтому я не знаю, как с этим работать. Кто-нибудь может мне помочь? Как я могу разобрать его на Ruby? Спасибо

 [
    {
        "name": "unknown script",
        "groups": [
            {
                "name": "unknown group",
                "labels": {},
                "headers": {
                    "sorted": [],
                    "map": {}
                },
                "agent": "",
                "group_type": "",
                "top_comments": [],
                "bottom_comments": [],
                "checks": [
                    {
                        "title": "",
                        "value": "0",
                        "type": "compare"
                    },
                    {
                        "title": "one",
                        "value": "0",
                        "type": "compare"
                    },
                    {
                        "title": "two",

                        "value": "1",
                        "type": "compare"
                    },
                    {
                        "title": "three",

                        "type": "compare"
                    },
                    {
                        "title": "four",

                        "value": "0",
                        "type": "compare"
                    },
                    {
                        "title": "five",

                        "value": "0",
                        "type": "compare"
                    },
                    {
                        "title": "six",

                        "value": "0",
                        "type": "compare"
                    },
                    {
                        "title": "seven",

                        "value": "1",
                        "type": "compare"
                    },
                    {
                        "title": "eight",

                        "value": "1",
                        "type": "compare"
                    },
                    {
                        "title": "nine",

                        "value": "0",
                        "type": "compare"
                    },
                    {
                        "title": "ten",
                        "value": "0",
                        "type": "compare"
                    },
                    {
                        "title": "eleven",
                        "value": "1",
                        "type": "compare"
                    },
                    {
                        "title": "twelve",
                        "value": "1",
                        "type": "compare"
                    },
  
                 
                                ]
                            }
                        ]
                    }
                ]

1 Ответ

3 голосов
/ 08 июля 2020

A JSON Массив объектов становится Ruby Массив из Хэшей . Затем эти хэши могут содержать больше массивов и т. Д.

Если вы хотите получить доступ к хешам, вам необходимо выполнить итерацию по массиву. Если вы хотите получить доступ к группам, вам нужно повторить итерацию снова.

scripts = JSON.parse(json)

# Iterate through each script
scripts.each { |script|
  # Print the script's name.
  puts "Script: #{script["name"]}"

  # Iterate through the script's groups.
  groups = script["groups"]
  groups.each { |group|
    # Print each group's name.
    puts "Group: #{group["name"]}"
  }
}
...