首页 ZnWPF 文档 关于
左咛HIT
.net 开发热爱者
#桌面(WPF) #Web(asp.net) #领域驱动设计

从 winform 到 WPF 再到 asp.net ,这一切都使我获益良多。

QQ : 1176156504

微信 : s1176156504

邮箱 : zidream@foxmail.com


使用说明:

① 输入需要解析的Json

请确保 Json 字符串格式正确。JSON 对象应使用大括号包裹,并且不应使用反斜杠进行转义。

示例 Json :

{
    "Class1":{
        "id":4,
        "user_id":"user_id_value",
        "awesomeobject":{
        "SomeProps1":1,
        "SomeProps2":"test"
    },
    "created_at":"2015-06-02 23:33:90",
    "updated_at":"2015-06-02 23:33:90",
    "users":[
        {
        "id":"6",
        "name":"Test Child 1",
        "created_at":"2015-06-02 23:33:90",
        "updated_at":"2015-06-02 23:33:90",
        "email":"test@gmail.com"
        },
        {
        "id":"6",
        "name":"Test Child 1",
        "created_at":"2015-06-02 23:33:90",
        "updated_at":"2015-06-02 23:33:90",
        "email":"test@gmail.com",
        "testanadditionalfield":"tet"
        } ]
    },
    "Class2":{
    "SomePropertyOfClass2":"SomeValueOfClass2"
    }
}

② 点击“生成”以开始生成对应的 C# 类。

点击“生成”按钮,等待几秒钟后,C# 类生成完毕。点击“复制结果”按钮,复制粘贴到您的编辑器进行使用即可。

默认配置下由之前的 Json 生成的 C# 类定义应为:

namespace Json2CSharp.JsonTypes
{
    public class AppSetting
    {
        [JsonPropertyName("Class1")]
        public Class1? Class1 { get; set; }

        [JsonPropertyName("Class2")]
        public Class2? Class2 { get; set; }
    }

    public class Class1
    {
        [JsonPropertyName("id")]
        public int id { get; set; }

        [JsonPropertyName("user_id")]
        public string? user_id { get; set; }

        [JsonPropertyName("awesomeobject")]
        public Awesomeobject? awesomeobject { get; set; }

        [JsonPropertyName("created_at")]
        public string? created_at { get; set; }

        [JsonPropertyName("updated_at")]
        public string? updated_at { get; set; }

        [JsonPropertyName("users")]
        public List? users { get; set; }
    }

    public class Awesomeobject
    {
        [JsonPropertyName("SomeProps1")]
        public int SomeProps1 { get; set; }

        [JsonPropertyName("SomeProps2")]
        public string? SomeProps2 { get; set; }
    }

    public class User
    {
        [JsonPropertyName("id")]
        public string? id { get; set; }

        [JsonPropertyName("name")]
        public string? name { get; set; }

        [JsonPropertyName("created_at")]
        public string? created_at { get; set; }

        [JsonPropertyName("updated_at")]
        public string? updated_at { get; set; }

        [JsonPropertyName("email")]
        public string? email { get; set; }

        [JsonPropertyName("testanadditionalfield")]
        public string? testanadditionalfield { get; set; }
    }

    public class Class2
    {
        [JsonPropertyName("SomePropertyOfClass2")]
        public string? SomePropertyOfClass2 { get; set; }
    }
}