C#无法反序列化Json对象

C#无法反序列化Json对象,c#,json,C#,Json,我有一个Json文件如下所示: {"APPMYPETS":{"note":"backend app mobile","esito":"Non applicabile"}, {"CANINA":{"note":"backend app mobile","esito":"Non applicabile"}} class RootObj { public CodElettra elettra{get;set;} } public class CodElettra { public

我有一个Json文件如下所示:

{"APPMYPETS":{"note":"backend app mobile","esito":"Non applicabile"},

{"CANINA":{"note":"backend app mobile","esito":"Non applicabile"}}
class RootObj
{
    public CodElettra elettra{get;set;}
}
public class CodElettra 
{
    public string note {get:set;}
    public string esito {get;set;}
}
我尝试创建的地图类如下所示:

{"APPMYPETS":{"note":"backend app mobile","esito":"Non applicabile"},

{"CANINA":{"note":"backend app mobile","esito":"Non applicabile"}}
class RootObj
{
    public CodElettra elettra{get;set;}
}
public class CodElettra 
{
    public string note {get:set;}
    public string esito {get;set;}
}
我使用了Newtonsoft.Json

string json = r.ReadToEnd();

var x = JsonConvert.DeserializeObject<RootObj>(json);

var x is null 
string json=r.ReadToEnd();
var x=JsonConvert.DeserializeObject(json);
var x为空
我曾在网上尝试将Json对象转换为C#类,但它不起作用。
感谢您的帮助

根据JSON字符串
{“CANINA”:{“note”:“backend app mobile”,“esito”:“Non applicatible”}

你的c#类应该是这样的:

public class CANINA
{
    public string note { get; set; }
    public string esito { get; set; }
}

public class RootObject
{
    public CANINA CANINA { get; set; }
}
public class APPMYPETS
{
    public string note { get; set; }
    public string esito { get; set; }
}

public class CANINA
{
    public string note { get; set; }
    public string esito { get; set; }
}

public class RootObject
{
    public APPMYPETS APPMYPETS { get; set; }
    public CANINA CANINA { get; set; }
}
更新:我意识到您的完整JSON字符串无效,我假设您的完整JSON字符串无效

{
    "APPMYPETS": {
        "note": "backend app mobile",
        "esito": "Non applicabile"
    },
    "CANINA": {
        "note": "backend app mobile",
        "esito": "Non applicabile"
    }
}
那么你的c#类应该是这样的:

public class CANINA
{
    public string note { get; set; }
    public string esito { get; set; }
}

public class RootObject
{
    public CANINA CANINA { get; set; }
}
public class APPMYPETS
{
    public string note { get; set; }
    public string esito { get; set; }
}

public class CANINA
{
    public string note { get; set; }
    public string esito { get; set; }
}

public class RootObject
{
    public APPMYPETS APPMYPETS { get; set; }
    public CANINA CANINA { get; set; }
}

由于属性名称是动态的,请尝试将其反序列化到
字典中,而不是
根对象中

var x = JsonConvert.DeserializeObject<Dictionary<string, CodElettra>>(json);
var x=JsonConvert.DeserializeObject(json);

小提琴:

问题是
APPMYPETS
CANINA
不同于
elettra
“它不工作”永远都是不够的信息。会发生什么?请发布一个日志,以便我们可以复制该问题。除了
note
…JSON对象包含1K对象“APPMYPETS”和“CANINA”是动态的,其他字段“note”和“esito”是静态的,请看一下这个OK,我写1K类?“CANINA”和“APPMYPETS”是dinamyc值,我需要以其他方式映射它们。不幸的是,已从csv文件读取序列化。如果键是动态的,则使用C#中的JToken。谷歌搜索它。它当然有用。我是瞎的,没有马上意识到这一点。非常感谢