如何使用DataContractJsonSerializer序列化程序将用户的电子邮件对象作为类? [英] How to use DataContractJsonSerializer serializer the user emails object as class?

查看:70
本文介绍了如何使用DataContractJsonSerializer序列化程序将用户的电子邮件对象作为类?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI

我的范围包括本文的电子邮件: http://msdn.microsoft.com/en-us/library/live/hh243648.aspx#user

My scope include Emails, by this article:http://msdn.microsoft.com/en-us/library/live/hh243648.aspx#user

我推断出Json结构会这样:

I infer the Json structure will like this:

{

   " first_name":"",&b $ b   " last_name":"",

   "电子邮件":{

      "preferred":"","&b $ b      "personal":"","
      "business":"","
      "其他":""

   },

{
   "first_name": "",
   "last_name": "",
   "emails": {
      "preferred": "",
      "personal": "",
      "business": "",
      "other": ""
   },

}

所以我使用两个这样的类:

So I use two class like this:

  [DataContract]

   公共类用户信息

    {

        [DataMember(Name =" id")]
$
       公共字符串ID {get;组; }
        [DataMember(Name =" emails")]
$
       公共电子邮件电子邮件{get;设置;}

        [DataMember(Name =" last_name")]
$
        public string Name {get;组; }

 [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]

   公共课程电子邮件

    {

        [DataMember(Order = 0)]

        public string Preferred {get;设置; }

        [DataMember(Order = 1)]
$
        public string Account {get;组; }

[DataContract]
    public class Emails
    {
        [DataMember(Order = 0)]
        public string Preferred {get; set; }
        [DataMember(Order = 1)]
        public string Account { get; set; }

        [DataMember(Order = 2)]
$
        public string个人{get;组; }

        [DataMember(Order=2)]
        public string Personal { get; set; }

        [DataMember(Order = 3)]

        public string Business {get;组; }

        [DataMember(Order=3)]
        public string Business { get; set; }



    }


    }

但是这样我只能得到ID和Name值,但是对于电子邮件,我得到的所有属性都为null!

But in that way I can only get ID and Name value but for emails, I get the class with all property=null!

什么我做错了?请帮助!

What I'm doing wrong? please help!

推荐答案

难道你不需要让Emails课程中的属性以小写字母开头吗?

Don't you just need to make the properties in the Emails class begin with lower case?

ie

public class Emails
{
    public string preferred { get; set; }
    public string account { get; set; }
    public string personal { get; set; }
    public string business { get; set; }
    public string other { get; set; }
}





这篇关于如何使用DataContractJsonSerializer序列化程序将用户的电子邮件对象作为类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆