Pouvez-vous convertir le dictionnaire C # en tableau associatif Javascript en utilisant asp.net mvc Json ()
J'ai récemment cette questionmais après quelques réponses et quelques recherches, j'ai voulu changer ce que j'étais en train de demander.
j'ai vu un nombre de messages de blog à propos de l'envoi de tableaux associatifs de javascript en C# contrôleur de l'action, mais je veux le contraire. Je veux le retour json à un client comme un dictionnaire (de ma recherche, le javascript équivalent de dictionnaire est un tableau associatif).
quand je prends régulièrement un dictionnaire en c sharp et appel Json() sur celui-ci et essayer de le ramener à javascript, il vient de souffle et je n'arrive pas à même de mettre un point d'arrêt sur le javascript côté. Par exemple:
De Code C#:
Dictionary<string, List<CalendarEvent>> dict = events.GroupBy(r => r.Date.ToString("MMM dd, yyyy")).ToDictionary(group => group.Key, group => group.ToList());
return Json(new
{
Dict = dict
}
});
Code Javascript:
$.post('/MyController/Refresh', function (data) {
var calendarDictionary = data.Dict;
}, "json");
source d'informationauteur leora
Vous devez vous connecter pour publier un commentaire.
Vous avez probablement aurait pu être un peu plus précis sur la il vient de coups jusqu' partie, mais voici un exemple qui fonctionne très bien pour moi:
Modèle:
Contrôleur:
Vue:
Retourné JSON:
En json, vous avez deux principales structures: un "tableau", c'est une liste d'élément, et un "objet", un groupe de paires clé-valeur.
Donc, pour ce que vous voulez atteindre le json méthode doit retourner un objet json (debug du serveur, afin de voir ce qui se fait envoyer au client).
En javascript l'objet json sera directement mappés à un objet javascript, et en javascript les objets sont également des tableaux associatifs
Donc, pour résumer:
Assurez-vous que le serveur renvoie un objet json, alors vous pouvez l'utiliser comme une sorte de dictionnaire en javascript.
Vous voudrez peut-être regarder à l' Json.NET de la bibliothèque. Il fait de la création de JSON représentations de .Net des objets très simples.
Votre code n'est pas valide, peut - être une faute de frappe?
Aussi, j'ai vu des cas où un méthode a besoin des données param, même si elle est vide {}.
Enfin, le json devrait revenir à l'intérieur des données.d - utiliser firebug pour la console.journal de la réponse.