2012-07-10 6 views
1

J'essaye d'analyser un fichier json qui a été obtenu à partir d'un flux de fichier. Voici mes données jsonRécupérer les valeurs du dictionnaire à partir du fichier json

{ 
    "appname":"sine", 
    "taborder": [ 
      "some", 
      "thing", 
      "is", 
      "went", 
      "wrong" ] 
} 

Je stocke les données dans une chaîne et tente de désérialiser les données. Je suis en train de montrer les clés dans la boîte d'alerte de la manière suivante

string jsonString = contents;//"{'Name':'Bill', 'Ag:53}"; 
you deserializedUser = ReadToObject(jsonString); 

var str = deserializedUser.mainDict.Keys.ToArray(); 
MessageBox.Show(str.ToString()); 

Mais je reçois la valeur de clé comme « null », comment obtenir les valeurs clés bon, pls me aider .....

Répondre

1

Je l'ai fait this helps

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
     { 
    JavaScriptRequest obj= DeserializeJavaScriptRequest(typeof(JavaScriptRequest), Resource1.test) as JavaScriptRequest; 
    MessageBox.Show(obj.appname +" | " + obj.taborder[0]); 
} 

public object DeserializeJavaScriptRequest(Type typedeserialize, string eValue) 
     { 

      Type t = typedeserialize; 
     // Get constructor info. 
     ConstructorInfo[] ci = t.GetConstructors();   
     object reflectOb = ci[0].Invoke(null); 
     MemoryStream confirm_ms = new MemoryStream(Encoding.UTF8.GetBytes(eValue)); 
     DataContractJsonSerializer confirm_ser = new DataContractJsonSerializer(typedeserialize); 
     reflectOb = confirm_ser.ReadObject(confirm_ms); 
     confirm_ms.Close(); 

     return reflectOb; 
    } 

Et je fait une classe

public class JavaScriptRequest 
    { 
     public string appname { get; set; } 
     public string[] taborder { get; set; } 
    } 
+0

merci pour ur réponse, (i cann't comprendre) ce qui est Resource1.test? – Ram

+0

@Ram désolé c'est la chaîne json – CognitiveDesire

+0

Merci pour votre réponse.Mais il jette cette exception: Argument Null Exception was managed.Value ne peut pas être nulle. Nom du paramètre: s – Ram

Questions connexes