C#无法反序列化Json对象
我有一个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
{"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。谷歌搜索它。它当然有用。我是瞎的,没有马上意识到这一点。非常感谢