"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > SQL Server 2016의 JSON 객체 어레이에서 값 배열을 추출하는 방법은 무엇입니까?

SQL Server 2016의 JSON 객체 어레이에서 값 배열을 추출하는 방법은 무엇입니까?

2025-04-18에 게시되었습니다
검색:772

How to Extract an Array of Values from an Array of JSON Objects in SQL Server 2016?

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