현재 다음과 유사한 중첩 된 JSON 개체가 있습니다.
{
"People": [
{
"Name": "James",
"Age": "18",
"Gender": "Male",
"Sports": []
},
{
"Name": "Sarah",
"Age": "19",
"Gender": "Female",
"Sports": [
"Soccer",
"Basketball",
"Football"
]
}
]
}
Ruby를 처음 접하는 저는 전체 json을 필터링하고 "Sports"배열에 내용이있는 json 객체 / 객체 만 반환하는 것을 목표로합니다. 따라서 위의 시나리오에서 최종 결과로 아래 개체를 얻을 것으로 예상합니다.
{
"Name": "Sarah",
"Age": "19",
"Gender": "Female",
"Sports": [
"Soccer",
"Basketball",
"Football"
]
}
그러한 행위를 수행하려면 새로운 방법을 시작해야합니까? 아니면이 경우 일반 루비 호출을 사용할 수 있습니까?
@philipyoo 대답이 맞지만 구문 분석 된 JSON을 "필터링"하는 방법에 대한 설명이 누락되었습니다. 루비를 처음 사용하는 경우 http://ruby-doc.org/core-2.2.0/Array.html#method-i-keep_if를 살펴보십시오 Array#keep_if
.
require 'json'
people = JSON.parse("{long JSON data ... }")
people_with_sports = people.fetch('People', []).keep_if do |person|
!person.fetch('Sports', []).empty?
end
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다