如何从json" object.object"获取C#对象

时间:2018-03-21 12:56:40

标签: c# json

我有JSON对象,我想转换为C#对象。

要在C#中创建类,我使用http://json2csharp.com/页面。

但转换器并不好。

我的JSON对象:

declarations

我收到的对象如下所示:

{
"data": {
    "krs_podmioty.data_sprawdzenia": "2016-12-22T05:36:21",
    "krs_podmioty.regon": "0",
    "krs_podmioty.adres_lokal": "",
    "krs_podmioty.adres_miejscowosc": "Warszawa",
    "krs_podmioty.liczba_czlonkow_komitetu_zal": 0,
}
}

我不知道为什么数据有public class Data { public DateTime __invalid_name__krs_podmioty.data_sprawdzenia { get; set; } public string __invalid_name__krs_podmioty.regon { get; set; } public string __invalid_name__krs_podmioty.adres_lokal { get; set; } public string __invalid_name__krs_podmioty.adres_miejscowosc { get; set; } public int __invalid_name__krs_podmioty.liczba_czlonkow_komitetu_zal { get; set; } }

我尝试剪切 __ invalid_name__krs_podmioty 但是来自krs_podmioty.object包的JsonConvert.DeserializeObject<Data>无法正常工作。

任何人都知道出了什么问题?我该怎么做才能解决它?

2 个答案:

答案 0 :(得分:4)

请查看这是否适合您。拥有一个包含 data的根对象非常重要。

此外,在属性名称与实际JSON属性名称不同的情况下,使用JsonPropertyAttribute会有所帮助。

public class Rootobject
{
    public Data data { get; set; }
}

public class Data
{
    [JsonProperty(PropertyName = "krs_podmioty.data_sprawdzenia")]
    public DateTime krs_podmiotydata_sprawdzenia { get; set; }

    [JsonProperty(PropertyName = "krs_podmioty.regon")]
    public string krs_podmiotyregon { get; set; }

    [JsonProperty(PropertyName = "krs_podmioty.adres_lokal")]
    public string krs_podmiotyadres_lokal { get; set; }

    [JsonProperty(PropertyName = "krs_podmioty.adres_miejscowosc")]
    public string krs_podmiotyadres_miejscowosc { get; set; }

    [JsonProperty(PropertyName = "krs_podmioty.liczba_czlonkow_komitetu_zal")]
    public int krs_podmiotyliczba_czlonkow_komitetu_zal { get; set; }
}

如果,请显示从中获取JSON的位置,并显示序列化为JSON的对象的结构。

答案 1 :(得分:2)

我试过这段代码。这对我有用:

public class Data
{
    [JsonProperty(PropertyName = "krs_podmioty.data_sprawdzenia")]
    public DateTime data_sprawdzenia { get; set; }
    [JsonProperty(PropertyName = "krs_podmioty.regon")]
    public string regon { get; set; }
    [JsonProperty(PropertyName = "krs_podmioty.adres_lokal")]
    public string adres_lokal { get; set; }
    [JsonProperty(PropertyName = "krs_podmioty.adres_miejscowosc")]
    public string adres_miejscowosc { get; set; }
    [JsonProperty(PropertyName = "krs_podmioty.liczba_czlonkow_komitetu_zal")]
    public int liczba_czlonkow_komitetu_zal { get; set; }
}

 var json = "{ \"data\": { \"krs_podmioty.data_sprawdzenia\": \"2016 -12-22T05:36:21\", \"krs_podmioty.regon\": \"0\", \"krs_podmioty.adres_lokal\": \"\", \"krs_podmioty.adres_miejscowosc\": \"Warszawa\", \"krs_podmioty.liczba_czlonkow_komitetu_zal\": 0,} }";

 var t = JsonConvert.DeserializeObject<Data>(json);