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

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

Patricia Arquette
Patricia Arquetteoriginal
2025-01-09 18:47:41672parcourir

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

Conversion JSON SQL Server 2016 : tableau d'objets en tableau de valeurs

SQL Server 2016 offre de puissantes fonctionnalités JSON, simplifiant la transformation des données pour le reporting et l'intégration. Cet exemple répond à un besoin courant : convertir un tableau d'objets SQL en un tableau de valeurs plus simple au sein d'une structure JSON.

Scénario :

Considérons un tableau, #temp, contenant des données comme celle-ci :

#tableau temp :

| article_id | |---|---| | 1234 | | 5678 | | 7890 |

Le but est de transformer ces données en JSON, en présentant les item_id valeurs comme un seul tableau, et non comme un tableau d'objets.

Structure JSON cible :

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

Solution :

Cette requête efficace permet d'obtenir la conversion souhaitée :

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

Explication :

La requête utilise intelligemment FOR XML PATH('') pour créer une chaîne de valeurs item_id entre guillemets séparées par des virgules. STUFF supprime la virgule de début. La chaîne résultante est ensuite placée entre crochets ([]) pour former un tableau JSON valide, qui est analysé à l'aide de JSON_QUERY. Enfin, FOR JSON PATH, WITHOUT_ARRAY_WRAPPER formate la sortie en tant qu'objet JSON souhaité.

Sortie :

L'exécution de la requête produit la structure JSON cible :

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

Cette méthode fournit un moyen concis et efficace de gérer les transformations de tableaux JSON dans SQL Server 2016.

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!

Déclaration:
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