Это недопустимый JSON из-за запятых в хэше. Если вы исправите запятые, уменьшите JSON, чтобы упростить работу с ним, и сохраните его в виде строки, то вы можете начать работать с ним в Ruby:
json = '{"testimonials":[{"office":"Test","authors":"Benjamin"},{"office":"consultant","authors":"Maxime "},{"office":"DAF","authors":"Alexandre"},{"office":"CEO","authors":"Raphaël"},{"office":"Consultant","authors":"Alexis"},{"office":"CEO,","authors":"Sylvain"}]}'
Теперь проанализируйте его в реальномОбъект Ruby:
hash = JSON.parse(json)
=> {
"testimonials" => [
[0] {
"office" => "Test",
"authors" => "Benjamin"
},
[1] {
"office" => "consultant",
"authors" => "Maxime "
},
[2] {
"office" => "DAF",
"authors" => "Alexandre"
},
[3] {
"office" => "CEO",
"authors" => "Raphaël"
},
[4] {
"office" => "Consultant",
"authors" => "Alexis"
},
[5] {
"office" => "CEO,",
"authors" => "Sylvain"
}
]
}
Это хеш, содержащий массив хешей. Вы должны получить к нему доступ, используя стандартные методы для Hash и Array .
Начните с получения значения единственного ключа в хэше, который является массивом:
array = hash['testimonials']
=> [
[0] {
"office" => "Test",
"authors" => "Benjamin"
},
[1] {
"office" => "consultant",
"authors" => "Maxime "
},
[2] {
"office" => "DAF",
"authors" => "Alexandre"
},
[3] {
"office" => "CEO",
"authors" => "Raphaël"
},
[4] {
"office" => "Consultant",
"authors" => "Alexis"
},
[5] {
"office" => "CEO,",
"authors" => "Sylvain"
}
]
Вы указали, что хотите получить значение из индекса 4:
sub_hash = array[4]
=> {
"office" => "Consultant",
"authors" => "Alexis"
}
И хотите вернуть строку Alexis
:
string = sub_hash['authors']
=> "Alexis"
Или сложите все в одну строку:
string = hash['testimonials'][4]['authors']
=> "Alexis"
Или еще одну более короткую строку:
JSON.parse(json)['testimonials'][4]['authors']
=> "Alexis"