Puisque vous ne spécifiez pas un type de cible fortement typé pour la désérialisation (autre que object
), JavaScriptSerializer
retournera un Dictionary<string, object>
et vous aurez accès comme suit:
string jsonString = "{'id':'54','name':'reza'}";
JavaScriptSerializer j = new JavaScriptSerializer();
dynamic data = j.Deserialize(jsonString, typeof(object));
string id = data["id"]; // equals 54
Pourtant, mieux vous définissez votre propre type personnalisé pour accéder aux données désérialisées. Quelque chose comme:
public class Person
{
public string id { get; set; }
public string name { get; set; }
}
string jsonString = "{'id':'54','name':'reza'}";
JavaScriptSerializer j = new JavaScriptSerializer();
Person person = j.Deserialize<Person>(jsonString);
string id = person.id; // equals 54
+1 À noter que la chaîne ne contient * pas * JSON valide. Cependant, il contient du JavaScript valide, ce que je suppose que le sérialiseur est heureux de travailler avec. –
@Behzad Razzaqi, soin d'expliquer pourquoi avez-vous accepter? Est-ce que ce n'est plus valide? – haim770