Créer des listes de json avec c#
Je suis en mesure de créer un plat sérialisé chaîne JSON assez facilement avec c#
Mon problème est que je veux créer un imbriquée chaîne comme ci-dessous
[ {
title: "Yes",
id : "1",
menu: [ {
title: "Maybe",
id : "3",
alert : "No",
menu: [ {
title: "Maybe Not",
id : "8",
alert : "No",
menu: []
} ]
} ]
},
{
title: "No",
id : "2",
menu: []
}]
Toute aide serait super
Êtes-vous à l'aide de JSON.Net bibliothèque ou une implémentation personnalisée? Vérifier si la bibliothèque peut vous aider - vous fera économiser une tonne de temps...
De quoi êtes-vous définir comme un imbriqués string ?
Vous devriez poster votre code (en comptant 1 ou 2 lignes) montre ce particulier "assez facilement" façon de créer JSON que vous choisissez.
renvoyer des données à partir SP - objet créé listItem[] li = new listItem[count] - returnString = new JavaScriptSerializer().Serialize(li); return returnString
De quoi êtes-vous définir comme un imbriqués string ?
Vous devriez poster votre code (en comptant 1 ou 2 lignes) montre ce particulier "assez facilement" façon de créer JSON que vous choisissez.
renvoyer des données à partir SP - objet créé listItem[] li = new listItem[count] - returnString = new JavaScriptSerializer().Serialize(li); return returnString
OriginalL'auteur cWilk | 2012-04-27
Vous devez vous connecter pour publier un commentaire.
Êtes-vous en utilisant MVC 3? - Faire quelque chose comme:
- Je utiliser cette option pour retourner complexe C# objets qui correspondent à la structure des objets JavaScript je veux.
par exemple:
donne:
EDIT: UN peu plus de nidification pour le fun:
donne:
pas vérifié les limites (si il y a de tout, mais juste d'ouvrir une application où les marchandises ont des collections d'éléments qui ont des statuts avec sont tous des objets complexes. semble fonctionner correctement
bien que les œuvres.. lui donner un aller, si votre utilisation de MVC 3 j'espère que ce sera un test rapide
Je devrais sans doute donner un peu plus d'info , j'ai une requête à la DB ramener dire une liste de 10 éléments , chacun d'eux ont les ID unique et un parent touches, je veux construire mon objet, puis sérialiser en JSON, je crois que la construction de l'objet et de l'attribution correcte des enfants pour corriger les parents est où ma question se situe
Je suppose que ma question est vraiment , comment voulez-vous créer des objets c# en premier lieu ?
OriginalL'auteur
Essayez d'utiliser
C'est intégré et vous permet d'économiser le travail de la sérialisation JSON-vous!
Cet exemple suppose que vous obtenez des données à partir d'une base de données en utilisant une sorte de lecteur, et il construit alors l'objet que vous souhaitez à l'aide de sérialiser une classe anonyme. Votre classe anonyme peut être aussi simple ou complexe que vous le souhaitez, et les JavaScriptSerializer va gérer le transformant en JSON. Cette approche est également utile parce que vous pouvez facilement contrôler le JSON noms de propriété qu'il va créer dans le JSON.
Pas de problème-j'ai fait la même chose moi-même dans une application, j'ai travaillé sur. J'ai pris la suite de la DB et l'a utilisé pour créer une classe anonyme qui je suis ensuite passé à la méthode de sérialisation. Donc, pour les "données" de l'objet ci-dessus, vous pouvez construire comme ceci: nouveau {a = reader.GetString(champ1), b = reader.GetString(champ2), c = reader.GetString(champ3) }; l'Utilisation d'un anonyme de la déclaration de classe de l'objet que vous passez à la JavaScriptSerializer de la méthode Serialize vous donne facile de contrôler ce que l'inclure dans le JSON et comment il sera représenté, sans avoir besoin de créer une classe nommée.
OriginalL'auteur Shawn
Vous pouvez faire usage de la
ExpandoObject
en vertu de laSystem.Dynamic
espace de noms.Voici un petit extrait pour la réalisation de votre solution:
Voici le travail de violon
Remarque: Il y a d'autres façons de faire cela, mais j'ai été en utilisant cette approche.
OriginalL'auteur Ozesh