Heim > Datenbank > MySQL-Tutorial > Wie konvertiere ich ein SQL-Array von Objekten in ein Array von Werten in JSON (SQL Server 2016)?

Wie konvertiere ich ein SQL-Array von Objekten in ein Array von Werten in JSON (SQL Server 2016)?

Patricia Arquette
Freigeben: 2025-01-09 18:47:41
Original
670 Leute haben es durchsucht

How to Convert a SQL Array of Objects to an Array of Values in JSON (SQL Server 2016)?

SQL Server 2016 JSON-Konvertierung: Array von Objekten in Array von Werten

SQL Server 2016 bietet leistungsstarke JSON-Funktionen und vereinfacht die Datentransformation für Berichterstellung und Integration. Dieses Beispiel geht auf einen häufigen Bedarf ein: die Konvertierung eines SQL-Arrays von Objekten in ein einfacheres Array von Werten innerhalb einer JSON-Struktur.

Szenario:

Stellen Sie sich eine Tabelle vor, #temp, die Daten wie diese enthält:

#temp-Tabelle:

| item_id | |---|---| | 1234 | | 5678 | | 7890 |

Das Ziel besteht darin, diese Daten in JSON umzuwandeln und die item_idWerte als einzelnes Array und nicht als Array von Objekten darzustellen.

Ziel-JSON-Struktur:

<code class="language-json">{
  "ids": [
    "1234",
    "5678",
    "7890"
  ]
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

Lösung:

Diese effiziente Abfrage erreicht die gewünschte Konvertierung:

<code class="language-sql">SELECT  
    JSON_QUERY('[' + STUFF((
        SELECT ',' + '"' + CAST(item_id AS VARCHAR(MAX)) + '"' 
        FROM #temp
        FOR XML PATH('')),1,1,'') + ']' ) AS ids  
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER;</code>
Nach dem Login kopieren

Erklärung:

Die Abfrage verwendet geschickt FOR XML PATH(''), um eine durch Kommas getrennte Zeichenfolge aus in Anführungszeichen gesetzten item_id-Werten zu erstellen. STUFF entfernt das führende Komma. Die resultierende Zeichenfolge wird dann in eckige Klammern ([]) eingeschlossen, um ein gültiges JSON-Array zu bilden, das mit JSON_QUERY analysiert wird. Abschließend formatiert FOR JSON PATH, WITHOUT_ARRAY_WRAPPER die Ausgabe als das gewünschte JSON-Objekt.

Ausgabe:

Das Ausführen der Abfrage erzeugt die Ziel-JSON-Struktur:

<code class="language-json">{
  "ids": [
    "1234",
    "5678",
    "7890"
  ]
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

Diese Methode bietet eine präzise und effektive Möglichkeit, JSON-Array-Transformationen in SQL Server 2016 zu verwalten.

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

Quelle:php.cn
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