SQL Server 2016 : JSON 개체 어레이를 값 배열로 변환
SQL Server 2016의 JSON 기능은 강력하지만 특정 데이터 구조를 추출하려면 때때로 창의적인 접근 방식이 필요합니다. 이 예제는 JSON 배열을 더 간단한 값으로 변환하는 것을 보여줍니다.
챌린지 :
JSON 배열의 객체를 생성하는 쿼리를 고려하십시오.
SELECT (SELECT item_id
FROM #temp
FOR JSON PATH, root('ids'))
이것은 다음과 같이 JSON을 생성합니다 :
{
"ids": [
{"item_id": "1234"},
{"item_id": "5678"},
{"item_id": "7890"}
]
}
목표는 이것을 item_id
값 만 포함하는 JSON 배열로 재구성하는 것입니다 :
{
"ids": [
"1234",
"5678",
"7890"
]
}
솔루션 :
키는 XML을 중개자로 활용하는 2 단계 프로세스입니다.
SELECT
JSON_QUERY('[' STUFF(( SELECT ',' '"' item_id '"'
FROM #temp FOR XML PATH('')),1,1,'') ']' ) ids
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
이 코드는 먼저 xml path ( '') 에
를 사용하여 item_id
값을 이중 인용문으로 둘러싸고 있습니다. 물건
은 선행 쉼표를 제거합니다. 그런 다음 결과는 사각형 브래킷으로 싸서 유효한 JSON 배열을 생성합니다. 마지막으로, json path의 경우 는 _array_wrapper없이
는 간단한 JSON 배열로 출력을 형식화합니다. 이것은 원래 JSON 객체 배열을 원하는 값 배열로 효과적으로 평평하게합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3