当前位置:编程学习 > C#/ASP.NET >>

关于json格式的序列化问题

如何去序列化一个嵌套了多层的json格式的数据{
    "录取情况(新生)": {
        "全日制学生": {
            "男生": "836",
            "女生": "827",
            "合计": "1663"
        },
        "在职学生": {
            "男生": "836",
            "女生": "827",
            "合计": "1663"
        }
    },
类似于这样的,两层的,看到的都是要建立实体类,然后序列化 JSON 序列化 --------------------编程问答-------------------- 写成class,类似于
public class 你的数据Type
{
    public 新生录取情况Type 新生录取情况{get;set;}
}

public class 新生录取情况Type
{
    public 学生情况Type 全日制学生{get;set;}
    public 学生情况Type 在职学生{get;set;}
}

public class 学生情况Type
{
    public int 男生;
    public int 女生;
    public int 合计;
}


关于如何使用jsetting来设置序列化/反序列化时的字段名,你可以搜索一下。 --------------------编程问答-------------------- 关于如何使用jsetting来设置序列化/反序列化时的字段名 --> 关于如何使用jsonproperty来设置序列化/反序列化时的字段名 --------------------编程问答-------------------- 哈佛大学

{
    "录取情况(新生)": {
        "全日制学生": {
            "男生": "836",
            "女生": "827",
            "合计": "1663"
        },
        "在职学生": {
            "男生": "836",
            "女生": "827",
            "合计": "1663"
        }
    },
    "所有本科生": {
        "全日制学生": {
            "男生": "3317",
            "女生": "3316",
            "合计": "6633"
        },
        "在职学生": {
            "男生": "1",
            "女生": "7",
            "合计": "8"
        },
        "研究生": {
            "男生": "7303",
            "女生": "6671",
            "合计": "13974"
        }
    },
        "宗教种族背景本科生": {
            "美洲印第安人/阿拉斯加土著人": "少于1%",
            "亚洲人": "15%",
            "黑人": "6%",
            "西班牙人": "8%",
            "多种族": "3%",
            "夏威夷土人/太平洋岛国居民": "少于1%",
            "白人": "43%",
            "种族不明": "1%"
        },
        "外州学生": {
            "外州学生比例": "74%",
            "代表的州和地区数量数量": "54"
        },
        "国际学生": {
            "国际学生比例": "10%",
            "代表的国家数量": "110"
        },
        "学生年龄": {
            "年龄超过25岁的学生(含25岁)比例": "1%"
        }
    }
}
像你上面这样定义类的话,序列化后能形成嵌套的调用吗?

 JavaScriptSerializer ser = new JavaScriptSerializer();
        Response.Write(ser.Serialize(MockSingleData()));
 采用这样能序列化吗

--------------------编程问答--------------------
引用 3 楼 xinkedaxia 的回复:
哈佛大学

{
    "录取情况(新生)": {
        "全日制学生": {
            "男生": "836",
            "女生": "827",
            "合计": "1663"
        },
        "在职学生": {
            "男生": "836",
            "女生": "827",
            "合计": "1663"
        }
    },
    "所有本科生": {
        "全日制学生": {
            "男生": "3317",
            "女生": "3316",
            "合计": "6633"
        },
        "在职学生": {
            "男生": "1",
            "女生": "7",
            "合计": "8"
        },
        "研究生": {
            "男生": "7303",
            "女生": "6671",
            "合计": "13974"
        }
    },
        "宗教种族背景本科生": {
            "美洲印第安人/阿拉斯加土著人": "少于1%",
            "亚洲人": "15%",
            "黑人": "6%",
            "西班牙人": "8%",
            "多种族": "3%",
            "夏威夷土人/太平洋岛国居民": "少于1%",
            "白人": "43%",
            "种族不明": "1%"
        },
        "外州学生": {
            "外州学生比例": "74%",
            "代表的州和地区数量数量": "54"
        },
        "国际学生": {
            "国际学生比例": "10%",
            "代表的国家数量": "110"
        },
        "学生年龄": {
            "年龄超过25岁的学生(含25岁)比例": "1%"
        }
    }
}
像你上面这样定义类的话,序列化后能形成嵌套的调用吗?

 JavaScriptSerializer ser = new JavaScriptSerializer();
        Response.Write(ser.Serialize(MockSingleData()));
 采用这样能序列化吗


可以序列话,我以前用过 --------------------编程问答-------------------- 能按你的思路有个完整的代码吗,感觉还是弄不懂
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,