首先我定义了两个类get_token_hiss里面还有一个基于get_token_date 的date字段
    [DataContract]
    public class get_token_hiss
    {
        [DataMember]
        public string response_code { get; set; }
        [DataMember]
        public string response_message { get; set; }
        [DataMember]
        public List<get_token_date> date { get; set; }
    }
    [DataContract]
    public class get_token_date
    {
        [DataMember]
        public string access_token { get; set; }
        [DataMember]
        public string expiry_time { get; set; }
    }
第一个问题是,上面的代码get_token_hiss和get_token_date都叫做类?交流中称为“类”没问题吗?
第二个问题是get_token_date 要称为包含在get_token_hiss里面? 还是叫什么?父类?派生类?我对这个概念不是很清晰。然后我写入数据到类里面
private List<get_token_hiss> getmessage = new List<get_token_hiss>();
private List<get_token_date> getdata = new List<get_token_date>();
MessageBox.Show("正在写入getmessage");
getmessage.Add(new get_token_hiss() { response_code = "200", response_message = "成功" });
MessageBox.Show("正在写入token");
getdata.Add(new get_token_date() { access_token = "sdfjlsdjfhasdlasf", expiry_time = "3600" });
 getdata.Add(new get_token_date() { access_token = "uiuelkjerhdl", expiry_time = "7600" });
//最后这句是摘出来的返回结果
return getmessage.FirstOrDefault(n => n.response_code == "200");我想要的结果是:{
    "response_code": "200",
    "response_message": "成功"
    "date": [
                  {
                     "access_token" = "sdfjlsdjfhasdlasf",
                     " expiry_time"  = "3600" 
                   },
                  {
                     "access_token" = "uiuelkjerhdl",
                     " expiry_time"  = "7600" 
                   }
],
}
实际给出的结果是:{
    "date": null,
    "response_code": "200",
    "response_message": "成功"
}
问题3,如何写入才能得出我想要的结果?我知道单独写入数据到get_token_date的情况没有关联性,应该是不会自动关联数据进去的
就是不清楚要如何写入。
问题4:实际环境中有三层或四层的情况,写入方式会有什么其它变化吗?
问题5:现在的csdn编辑界面太小了,反人类啊,有什么好办法?

解决方案 »

  1.   

    第一个问题,交流中称为“类”没问题,但在你的应用中称为类型更妥
    第二个问题,get_token_date 含有一个 get_token_hiss 类型的集合,仅此而已,并无其他必然联系。这就是 称为类型更妥 的原因
    第三个问题
    List<get_token_hiss> getmessage = new List<get_token_hiss>();
    List<get_token_date> getdata = new List<get_token_date>();
    getdata.Add(new get_token_date() { access_token = "sdfjlsdjfhasdlasf", expiry_time = "3600" });
    getdata.Add(new get_token_date() { access_token = "uiuelkjerhdl", expiry_time = "7600" });
    getmessage.Add(new get_token_hiss() { response_code = "200", response_message = "成功",date = getdata });
      

  2.   

    [code=Json]{
        "data": [
            {
                "access_token": "sdfjlsdjfhasdlasf",
                "expiry_time": "3600"
            },
            {
                "access_token": "uiuelkjerhdl",
                "expiry_time": "7600"
            }
        ],
        "response_code": "200",
        "response_message": "成功"
    }[/code]
    现在出来是这样,和我定义的顺序不太一样,我的data是在最下面,有什么影响吗?返回值是json
    我是return getmessage.FirstOrDefault(n => n.response_code == "200");
    这句从网上抄来的,有其它的更好的返回方式吗?