Heim > Datenbank > MySQL-Tutorial > Wie extrahiere ich ein Wertearray aus einem Array von JSON-Objekten in SQL Server 2016?

Wie extrahiere ich ein Wertearray aus einem Array von JSON-Objekten in SQL Server 2016?

Patricia Arquette
Freigeben: 2025-01-09 18:41:42
Original
932 Leute haben es durchsucht

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

SQL Server 2016: JSON-Objektarrays in Wertearrays umwandeln

Die JSON-Funktionen von SQL Server 2016 sind robust, aber das Extrahieren bestimmter Datenstrukturen erfordert manchmal kreative Ansätze. Dieses Beispiel zeigt die Umwandlung eines JSON-Arrays von Objekten in ein einfacheres Array von Werten.

Die Herausforderung:

Stellen Sie sich eine Abfrage vor, die ein JSON-Array von Objekten generiert:

SELECT (SELECT item_id 
FROM #temp
FOR JSON PATH, root('ids')) 
Nach dem Login kopieren

Dies ergibt JSON wie folgt:

{
  "ids": [
    {"item_id": "1234"},
    {"item_id": "5678"},
    {"item_id": "7890"}
  ]
}
Nach dem Login kopieren

Das Ziel besteht darin, dies in ein JSON-Array umzustrukturieren, das nur die item_id-Werte enthält:

{
  "ids": [
    "1234",
    "5678",
    "7890"
  ]
}
Nach dem Login kopieren

Die Lösung:

Der Schlüssel ist ein zweistufiger Prozess, der XML als Vermittler nutzt:

SELECT  
JSON_QUERY('[' + STUFF(( SELECT ',' + '"' + item_id + '"' 
FROM #temp FOR XML PATH('')),1,1,'') + ']' ) ids  
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER 
Nach dem Login kopieren

Dieser Code verwendet zunächst FOR XML PATH(''), um die item_id-Werte zu verketten und jeden in doppelte Anführungszeichen zu setzen. STUFF entfernt das führende Komma. Das Ergebnis wird dann in eckige Klammern eingeschlossen, um ein gültiges JSON-Array zu erstellen, das JSON_QUERY analysiert. Schließlich formatiert FOR JSON PATH, WITHOUT_ARRAY_WRAPPER die Ausgabe als einfaches JSON-Array. Dadurch wird das ursprüngliche JSON-Objektarray effektiv auf das gewünschte Wertearray reduziert.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich ein Wertearray aus einem Array von JSON-Objekten in SQL Server 2016?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage