创建这个json对象的等效类的最简单方法是什么?

时间:2015-08-21 12:38:29

标签: c# json json.net

我有这个json对象:

{
    foo: {
        someVar: 100,
        anotherVar: "foobar"
    },
    bar: {
        nextVar: "193",
        isThisAVar: true
    },
    foobar: "some text",
    foobool: false,
    barfoo: [
        {
            first: "text",
            second: 391,
            third: "DateTime string"
        },
        {
            first: "text",
            second: 391,
            third: "DateTime string"
        },
        {
            first: "text",
            second: 391,
            third: "DateTime string"
        },
    ]
}

我想在C#中为这个json对象创建一个等价的类,所以我可以用JsonConvert.Deserialize<T>()(Json.Net)反序列化json对象。
但我不想为foobarbarfoo创建类/结构。
我也不能使用Json.Net的动态反序列化,因为我的C#类包含一些辅助函数来操作数据。

那么实现这一目标的最简单/最快的方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用http://jsonutils.com来实现此目标。

您输入的JSON将生成以下类结构:

public class Foo
{
    public int someVar { get; set; }
    public string anotherVar { get; set; }
}

public class Bar
{
    public string nextVar { get; set; }
    public bool isThisAVar { get; set; }
}

public class Barfoo
{
    public string first { get; set; }
    public int second { get; set; }
    public string third { get; set; }
}

public class Example
{
    public Foo foo { get; set; }
    public Bar bar { get; set; }
    public string foobar { get; set; }
    public bool foobool { get; set; }
    public IList<Barfoo> barfoo { get; set; }
}