C#对象到json-如何构建对象?

C#对象到json-如何构建对象?,c#,json,serialization,C#,Json,Serialization,序列化json之后,C#对象看起来会是什么样子呢? 已经花了几个小时在这上面了,却不知道如何将电子邮件作为变量?只有一个“潜在客户”和多个孩子 { "prospects": { "1234": { "first_name": "New first name", "last_name": "New last name" }, "some@email.com": { "fi

序列化json之后,C#对象看起来会是什么样子呢? 已经花了几个小时在这上面了,却不知道如何将电子邮件作为变量?只有一个“潜在客户”和多个孩子

{
    "prospects": {
        "1234": {
            "first_name": "New first name",
            "last_name": "New last name"
        },
        "some@email.com": {
            "first_name": "New first name",
            "last_name": "New last name"
        },
        "some.other@email.com": {
            "first_name": "New first name",
            "last_name": "New last name"
        }
    }
}
最终结果应该是

你的问题是你的“钥匙”是动态的。这意味着您不能硬编码它。试试这个:

public class RootObject
{
    [JsonProperty("prospects")]
    public Dictionary<string, NameModel> Prospects { get; set; }
}

public class NameModel
{
    [JsonProperty("firstName")]
    public string FirstName { get; set; }
    [JsonProperty("lastName")]
    public string LastName { get; set; }
}

Fiddle

您是在问如何构建一个可以反序列化示例json的模型,还是如何构建模型来改进示例json?我们需要更多信息。背景是什么?具体是什么?我需要一个模型,在序列化后,输出如所述。@JaroF我不确定如何构建一个模型,就像您在示例中提出的每个值1234一样,some@email.com,一些other@email.com可能是属性名称…我在下面添加了一个答案,我认为这将为您提供一个正确的序列化。您可以使用-,在这里查看
var model = new RootObject()
{
    Prospects = new Dictionary<string, NameModel>()
    {
        { "1234", new NameModel() { FirstName = "Sam", LastName = "Test" }},
        { "some@email.com", new NameModel() { FirstName = "Sue", LastName = "Test" }},
        { "some.other@email.com", new NameModel() { FirstName = "Frank", LastName = "Test" }},
    }
};
{
    "prospects": {
        "1234": {
            "firstName": "Sam",
            "lastName": "Test"
        },
        "some@email.com": {
            "firstName": "Sue",
            "lastName": "Test"
        },
        "some.other@email.com": {
            "firstName": "Frank",
            "lastName": "Test"
        }
    }
}