我有以下JSON
{
"Guid": "abc",
"Data": {
"Json": [[1,42],[2,2]]
}
我想进入这个:
public class TempData
{
public string Guid { get; set; }
public Json Data { get; set; }
}
public class Json
{
public byte[] Data { get; set; }
}
使用以下代码我得到byte [] Data null,有人可以告诉我为什么吗?
TempData data = JsonConvert.DeserializeObject<TempData>(jsonString);
祝你好运
答案 0 :(得分:0)
您的JSON和序列化类之间的映射存在两个错误:
JSON包含属性Data
,它是一个属性为Json
的对象,而该类包含一个属性Data
,其属性为Data
。要解决此问题,请按如下方式修改类:
public class TempData
{
public string Guid { get; set; }
public DataData { get; set; }
}
public class Data
{
public byte[] Json { get; set; }
}
Json文档中的Json属性包含一组int数组。这不能序列化为字节数组。有两种可能的选择:
将Json更改为包含正确的字节数组:
{
"Guid": "abc",
"Data": {
"Json": [1,42,2,2]
}
或修改您的类,使其具有一个字节数组数组:
public class TempData
{
public string Guid { get; set; }
public DataData { get; set; }
}
public class Data
{
public byte[][] Json { get; set; }
}