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

Wie konvertiere ich ein SQL Server-Objektarray in ein Array von JSON-Werten in SQL 2016?

Linda Hamilton
Freigeben: 2025-01-09 18:52:41
Original
391 Leute haben es durchsucht

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

SQL-zu-JSON-Konvertierung: Konvertieren Sie ein Array von Objekten in ein Array von Werten in SQL 2016

SQL 2016 bietet die Funktion zum Konvertieren von SQL Server-Daten in JSON und erweitert so viele Möglichkeiten. Beim Umgang mit Arrays von Objekten kann es jedoch vorkommen, dass die erforderliche JSON-Struktur vom Standardkonvertierungsergebnis abweicht.

Insbesondere beim Konvertieren eines Arrays von Objekten in JSON besteht das Standardverhalten darin, das Objekt als eigenes Array in das übergeordnete Array einzubetten. Zum Beispiel:

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

Ergebnis:

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

In manchen Fällen kann es vorzuziehen sein, ein Array von Objekten als Array von Werten ohne verschachtelte Strukturen anzuzeigen.

Um dies zu erreichen, kann eine zwischenzeitliche XML-Transformation verwendet werden:

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

In diesem Schritt werden die Daten in eine abgeflachte XML-Struktur umgewandelt, die dann mithilfe der Parameter JSON_QUERY() und WITHOUT_ARRAY_WRAPPER in JSON konvertiert werden kann. Das Ergebnis ist das gewünschte Array mit den Werten:

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

Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein SQL Server-Objektarray in ein Array von JSON-Werten in SQL 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