Maison > base de données > tutoriel mysql > Comment convertir un tableau d'objets SQL Server en un tableau de valeurs JSON dans SQL 2016 ?

Comment convertir un tableau d'objets SQL Server en un tableau de valeurs JSON dans SQL 2016 ?

Linda Hamilton
Libérer: 2025-01-09 18:52:41
original
373 Les gens l'ont consulté

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

Conversion SQL en JSON : Convertir un tableau d'objets en tableau de valeurs dans SQL 2016

SQL 2016 fournit la fonction de conversion des données SQL Server en JSON, élargissant ainsi de nombreuses possibilités. Cependant, lorsqu'il s'agit de tableaux d'objets, la structure JSON requise peut parfois différer du résultat de conversion par défaut.

Plus précisément, lors de la conversion d'un tableau d'objets en JSON, le comportement par défaut consiste à intégrer l'objet en tant que son propre tableau dans le tableau parent. Par exemple :

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

Résultat :

<code class="language-json">{
    "ids": [{
        "item_id": "1234"
    },
    {
        "item_id": "5678"
    },
    {
        "item_id": "7890"
    }]
}</code>
Copier après la connexion

Dans certains cas, il peut être préférable d'afficher un tableau d'objets sous forme de tableau de valeurs, sans structures imbriquées.

Pour y parvenir, une transformation XML intermédiaire peut être utilisée :

<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>
Copier après la connexion

Cette étape convertit les données en une structure XML aplatie, qui peut ensuite être convertie en JSON à l'aide des paramètres JSON_QUERY() et WITHOUT_ARRAY_WRAPPER. Le résultat est le tableau souhaité contenant les valeurs :

<code class="language-json">"ids": [
        "1234",
        "5678",
        "7890"
    ]</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal