我有这样的 json 结构:
{
"id":"12345",
"first_name": "dino",
"last_name": "he",
"emails": {
"preferred": "1",
"personal": "2",
"business": "3",
"other": "4"
}
}
我想获取电子邮件中的值
所以我写了两个类:
[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; }
}
和
我写这样的代码:
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();
对于信息,我可以在用户信息中获得其他值,但对于电子邮件我什么也得不到。
为什么,我应该如何写课程?
请帮我!
我发现问题是我需要将电子邮件中的所有属性更改为小写......
我不知道为什么..但它有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)