Lorsque vous utilisez la classe JSON à partir de System.Web.HelPers et j'exécute le code suivant, je m'attendais à produire une chaîne JSON contenant les mêmes informations que la chaîne d'origine, mais elle ne renvoie étrangement que la chaîne {" Employés ": {}} CODE> et omet le tableau entièrement et le remplace par un objet vide? string jsonData = "[ { \"firstName\":\"John\" , \"lastName\":\"Doe\" }, { \"firstName\":\"Anna\" , \"lastName\":\"Smith\" }, { \"firstName\":\"Peter\" , \"lastName\":\"Jones\" } ]";
var json = Json.Decode(jsonData);
string result = Json.Encode(json);
/* result is (formatted for readability):
[
{
"firstName" : "John",
"lastName" : "Doe"
},
{
"firstName" : "Anna",
"lastName" : "Smith"
},
{
"firstName" : "Peter",
"lastName" : "Jones"
}
]
*/
3 Réponses :
Je pense que vous devriez plutôt utiliser json.net à la place. Voir: json.net sur CodePlex P>
Cela ne répond pas à cette question, il s'agit d'un problème spécifique dans une bibliothèque spécifique et non de la meilleure façon de coder JSON.
Avez-vous pensé à créer et à utiliser des classes, que vous pouvez ensuite sérialiser / les désérialiser? I Serialize / désérialisez presque toujours, car j'ai besoin des données comme objet à utiliser pendant exécution. Mais je suppose que cela dépend de votre cas. P> p>
Je ressens également ce bogue, heureusement, la bibliothèque est maintenant open source afin que nous puissions réparer le bogue nous-mêmes: https://aspnetwebstack.codeplex.com/sourcecontrol/latest
Le correctif est dans le système .Web.helpers / dynamicjavascriptConverter.cs p> J'ai déposé un bogue avec le correctif suggéré sur le site de CodePlex:
https://aspnetwebstack.codepleplex.com/workitem/1085 p> p>
Je ne suis pas un expert dans cette bibliothèque, mais tout a l'air propre, alors je voterais comme un bug. Mais la manipulation de la matrice est une fonctionnalité de base à Json que je ne peux pas croire qu'ils ne le remarqueraient pas.