Comment puis-je obtenir un objet JSON à partir d'une table SQL Server?
J'ai vue que je veux être converties en JSON. Qu'est-ce que le SQL que je peux utiliser pour produire sur le serveur de la chaîne JSON nécessaire pour être de retour?
Vous devez vous connecter pour publier un commentaire.
J'imagine que cela peut être fait, mais il semble comme une très longue haleine et sujette à erreur façon d'atteindre le résultat souhaité.
Si j'étais vous, je serais décomposer le problème en regard à l'ORM de la technologie de votre milieu de niveau cadre (ASP.NET je présume?) et puis serialise JSON à nouveau à partir du cadre. À défaut de prise en charge du framework (c'est à dire vous n'êtes pas dans .NET 3+), j'aurais encore faveur serialising la base de données au format XML, puis XSLT transformation du XML en JSON depuis XML est beaucoup beaucoup plus facile de travailler avec sur le serveur.
Le nom du jeu est la séparation des préoccupations.
En dessous de la version est un total de ré-élaboration de ce concept. Si j'ai oublié quelque chose s'il vous plaît ajouter une note et je vais modifier pour ajuster.
jlech réponse est OK, mais je ne vois pas pourquoi vous ne pouvez pas générer directement sur une VUE de métadonnées en utilisant une technique similaire à celle de cette UNPIVOT répondre, en évitant les Curseurs et SÉLECTIONNEZ DANS tempoary table.
De ne pas faire dérailler le cas des OP question, mais je me demande si cela en SQL est le meilleur /les plus appropriés, la route à prendre? Il me semble que ce serait peut-être plus facilement /efficacement accompli dans le code.
J'ai d'abord été demandais la même chose (ce qui est la façon dont j'ai trouvé ce post), mais après la mastication sur l'idée pendant quelques minutes, il semble que cela pourrait être mieux réalisé à l'aide d'un utilitaire /extension de la méthode qui prend un dataset & renvoie la résultante chaîne JSON.
Accordée, l'OP peut avoir de bonnes raisons pour avoir besoin d'aller dans cette voie. Je suis juste la pensée (de frappe) à haute voix ici...