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
Linda HamiltonOriginal
2025-01-09 18:52:41374Durchsuche

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:

<code class="language-sql">SELECT (SELECT item_id FROM #temp FOR JSON PATH,root('ids'))</code>

Ergebnis:

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

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:

<code class="language-sql">SELECT  
JSON_QUERY('[' + STUFF(( SELECT ',' + '"' + item_id + '"' 
FROM #temp FOR XML PATH('')),1,1,'') + ']' ) ids  
FOR JSON PATH , WITHOUT_ARRAY_WRAPPER</code>

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:

<code class="language-json">"ids": [
        "1234",
        "5678",
        "7890"
    ]</code>

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!

Stellungnahme:
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