Heim > Datenbank > MySQL-Tutorial > Wie konvertiere ich ein SQL Server-Objektarray in ein Wertearray in JSON?

Wie konvertiere ich ein SQL Server-Objektarray in ein Wertearray in JSON?

Barbara Streisand
Freigeben: 2025-01-09 18:56:41
Original
1036 Leute haben es durchsucht

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

SQL Server 2016 JSON-Konvertierung: Objektarrays in Wertearrays umwandeln

Die JSON-Funktionen von SQL Server 2016 sind leistungsstark, aber die Konvertierung von Objektarrays in Wertearrays erfordert einen bestimmten Ansatz. Lassen Sie uns die Herausforderung und Lösung veranschaulichen.

Stellen Sie sich dieses Szenario vor:

CREATE TABLE #temp (item_id VARCHAR(256))

INSERT INTO #temp VALUES ('1234'),('5678'),('7890')

SELECT * FROM #temp

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

Dies ergibt ein JSON-Array von Objekten:

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

Das Ziel ist jedoch ein JSON-Array von Werten:

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

Der Schlüssel liegt darin, XML als Zwischenschritt zu nutzen:

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

Diese Abfrage erstellt zunächst eine XML-Zeichenfolge, die die Werte darstellt, entfernt dann mit STUFF das führende Komma und schließt das Ergebnis schließlich in eckige Klammern ein, um ein JSON-Array zu bilden. Die FOR JSON PATH, WITHOUT_ARRAY_WRAPPER-Klausel stellt sicher, dass die Ausgabe ein einzelnes JSON-Array von Werten ist und kein Array, das ein einzelnes Objekt enthält. Dadurch wird effizient die gewünschte JSON-Struktur erreicht.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein SQL Server-Objektarray in ein Wertearray in JSON?. 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