Wie zu verwenden DataContractJsonSerializer für Json?

Habe ich json-Struktur wie diese:

{
   "id":"12345",
   "first_name": "dino",
   "last_name": "he",
   "emails": {
      "preferred": "1",
      "personal": "2",
      "business": "3",
      "other": "4"
   }
}

Ich möchte den Wert in E-Mails
Also, ich Schreibe zwei-Klassen:

[DataContract]
public class UserInformation
{
    [DataMember(Name = "id")]
    public string ID { get; set; }
    [DataMember(Name = "emails")]
    public Emails emails { get; set; }
    [DataMember(Name = "last_name")]
    public string Name { get; set; }

}
[DataContract]
public class Emails
{
    [DataMember(Name = "preferred")]
    public string Preferred { get; set; }


    [DataMember(Name = "personal")]
    public string Account { get; set; }

    [DataMember(Name = "business")]
    public string Personal { get; set; }

    [DataMember(Name = "other")]
    public string Business { get; set; }
}

Und
Ich code schreiben:

StreamReader stream = new StreamReader(@"C:\Visual Studio 2012\Projects\ASP.net\WebApplication1\WebApplication2\TextFile1.txt");
string text = stream.ReadToEnd();
stream.Close();

byte[] byteArray = Encoding.UTF8.GetBytes(text);
MemoryStream stream1 = new MemoryStream(byteArray);


DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(UserInformation));
var info = serializer.ReadObject(stream1) as UserInformation;
stream1.Close();

Für die info, die ich bekommen kann andere Werte in UserInformation, Aber für E-Mails habe ich nichts bekommen.
Warum, Und wie soll ich das schreiben der Klasse?
Bitte helfen Sie mir!

Was meinst du, dass Sie nichts bekommen? Gibt es nicht einen beliebigen Wert in info.emails? Sind Sie sicher, dass Sie Lesen die richtige Datei?
Ja, ich bin sicher, und das problem ist, ich brauchen, um die Eigenschaft zu ändern, die in E-Mails in Kleinbuchstaben! Ich weiß nicht warum... aber scheint, wie ich diese ändern, um den unteren Fall, Sie könnten die Arbeit!

InformationsquelleAutor EthenHY | 2013-02-19

Schreibe einen Kommentar