Maison >base de données >tutoriel mysql >Comment convertir un tableau d'objets SQL Server en un tableau de valeurs JSON dans 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>
Résultat :
<code class="language-json">{ "ids": [{ "item_id": "1234" }, { "item_id": "5678" }, { "item_id": "7890" }] }</code>
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>
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>
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!