Xamasoft JSON Class Generator(Json实体类生成器)

以前就遇到过,当时代码量不是很大,就手写了实体类。当时就想写个工具来自动生成。但是嫌麻烦了。感觉也不好写。

最近写个页游的辅助,返回的是Json,上百个不同的JSON返回值。如果光写实体类,我估计我不用干别的了。

下定决心写这么个工具,仔细研究了下Newtonsoft.Json.dll 发现用这个来写的话。就方便了很多了。

 

后发现老外写了个更好用的。(开源)

http://www.xamasoft.com/json-class-generator/

我的就直接淘汰掉了。

天朝的局域网太强大了。下载得去CodePlex。

http://jsonclassgenerator.codeplex.com/releases/view/102614

源码:http://jsonclassgenerator.codeplex.com/SourceControl/latest

支持生成C#和VB.NET实体

以1楼给我的例子。做一个演示。

{
"chart": {
"manageresize": "1",
"dateformat": "mm/dd/yyyy",
"outputdateformat": "hh:mn",
"caption": "Work Schedule",
"subcaption": "For next 2 days"
},
"categories": [
{
"category": [
{
"start": "7/15/2007 00:00:00",
"end": "7/15/2007 23:59:59",
"label": "Today"
},
{
"start": "7/16/2007 00:00:00",
"end": "7/16/2007 23:59:59",
"label": "Tomorrow"
}
]
},
{
"align": "right",
"category": [
{
"start": "7/15/2007 00:00:00",
"end": "7/15/2007 05:59:59",
"label": "6 am"
},
{
"start": "7/15/2007 06:00:00",
"end": "7/15/2007 11:59:59",
"label": "12 pm"
},
{
"start": "7/15/2007 12:00:00",
"end": "7/15/2007 17:59:59",
"label": "6 pm"
},
{
"start": "7/15/2007 18:00:00",
"end": "7/15/2007 23:59:59",
"label": "Midnight"
},
{
"start": "7/16/2007 00:00:00",
"end": "7/16/2007 05:59:59",
"label": "6 am"
},
{
"start": "7/16/2007 06:00:00",
"end": "7/16/2007 11:59:59",
"label": "12 pm"
}
]
}
],
"processes": {
"fontsize": "12",
"isbold": "1",
"align": "left",
"headertext": "Who?",
"headerfontsize": "18",
"headervalign": "bottom",
"headeralign": "left",
"process": [
{
"label": "John.S",
"id": "EMP121"
},
{
"label": "David.G",
"id": "EMP122"
},
{
"label": "Mary.P",
"id": "EMP123"
}
]
},
"tasks": {
"showlabels": "1",
"showstartdate": "1",
"task": [
{
"processid": "EMP121",
"start": "7/15/2007 08:00:00",
"end": "7/15/2007 12:30:00",
"label": "Logo A"
},
{
"processid": "EMP121",
"start": "7/15/2007 17:00:00",
"end": "7/15/2007 19:30:00",
"label": "Logo B"
},
{
"processid": "EMP121",
"start": "7/16/2007 09:00:00",
"end": "7/16/2007 19:30:00",
"label": "Website template"
},
{
"processid": "EMP122",
"start": "7/15/2007 10:00:00",
"end": "7/15/2007 20:30:00",
"label": "PHP Blueprint"
}
]
}
}

  

转换后的C# Model

点击paste & go,转换后的实体类复制到了剪辑版中。CTRL+V即可。

// Generated by Xamasoft JSON Class Generator
// http://www.xamasoft.com/json-class-generator

using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace Example
{

    public partial class SampleResponse1
    {
        public class Chart2
        {

            [JsonProperty("manageresize")]
            public string Manageresize { get; set; }

            [JsonProperty("dateformat")]
            public string Dateformat { get; set; }

            [JsonProperty("outputdateformat")]
            public string Outputdateformat { get; set; }

            [JsonProperty("caption")]
            public string Caption { get; set; }

            [JsonProperty("subcaption")]
            public string Subcaption { get; set; }
        }
    }

    public partial class SampleResponse1
    {
        public class Category2
        {

            [JsonProperty("start")]
            public string Start { get; set; }

            [JsonProperty("end")]
            public string End { get; set; }

            [JsonProperty("label")]
            public string Label { get; set; }
        }
    }

    public partial class SampleResponse1
    {
        public class Category
        {

            [JsonProperty("category")]
            public Category2[] Category { get; set; }

            [JsonProperty("align")]
            public string Align { get; set; }
        }
    }

    public partial class SampleResponse1
    {
        public class Process2
        {

            [JsonProperty("label")]
            public string Label { get; set; }

            [JsonProperty("id")]
            public string Id { get; set; }
        }
    }

    public partial class SampleResponse1
    {
        public class Processes2
        {

            [JsonProperty("fontsize")]
            public string Fontsize { get; set; }

            [JsonProperty("isbold")]
            public string Isbold { get; set; }

            [JsonProperty("align")]
            public string Align { get; set; }

            [JsonProperty("headertext")]
            public string Headertext { get; set; }

            [JsonProperty("headerfontsize")]
            public string Headerfontsize { get; set; }

            [JsonProperty("headervalign")]
            public string Headervalign { get; set; }

            [JsonProperty("headeralign")]
            public string Headeralign { get; set; }

            [JsonProperty("process")]
            public Process2[] Process { get; set; }
        }
    }

    public partial class SampleResponse1
    {
        public class Task2
        {

            [JsonProperty("processid")]
            public string Processid { get; set; }

            [JsonProperty("start")]
            public string Start { get; set; }

            [JsonProperty("end")]
            public string End { get; set; }

            [JsonProperty("label")]
            public string Label { get; set; }
        }
    }

    public partial class SampleResponse1
    {
        public class Tasks2
        {

            [JsonProperty("showlabels")]
            public string Showlabels { get; set; }

            [JsonProperty("showstartdate")]
            public string Showstartdate { get; set; }

            [JsonProperty("task")]
            public Task2[] Task { get; set; }
        }
    }

    public partial class SampleResponse1
    {

        [JsonProperty("chart")]
        public Chart2 Chart { get; set; }

        [JsonProperty("categories")]
        public Category[] Categories { get; set; }

        [JsonProperty("processes")]
        public Processes2 Processes { get; set; }

        [JsonProperty("tasks")]
        public Tasks2 Tasks { get; set; }
    }

}

  

转载于:https://www.cnblogs.com/qiqi9039420/articles/3119352.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值