C# 如何从JSON中获取字段,并将JSON的其余部分作为字节[]发送
我有下面的JSONC# 如何从JSON中获取字段,并将JSON的其余部分作为字节[]发送,c#,json,deserialization,json-deserialization,C#,Json,Deserialization,Json Deserialization,我有下面的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; } }
{
"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; }
}
使用下面的代码,我得到字节[]数据null,有人能告诉我为什么吗
TempData data = JsonConvert.DeserializeObject<TempData>(jsonString);
TempData data=JsonConvert.DeserializeObject(jsonString);
致以最诚挚的问候在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; }
}
字节[]
包含什么?您的源数据是字符串,而不是字节,JSON甚至不表示整数列表。它将包含JSON,它可以包含任何内容,这只是一个示例{“Guid”:“abc”,“Data”:{“Json”:[{“source”:“asd”,“target”:“asd”}]}}`我通过将数据发送到对象中解决了这个问题。现在我需要找到一种将其转换为字节[]的方法,因为JSON.net的JObject没有使用可序列化的atribute“标记”。