使用Json.Net将字节数组解析为json

我正在尝试使用Json.Net将byte[]数组解析为Dictionary但没有成功

其实我对它的可能性有疑问。 那有可能吗? 有这个图书馆还是其他图书馆?

这是我尝试过但DeserializeObject除了字符串作为参数afaik

 public static Dictionary parse(byte[] json){ Dictionary values = JsonConvert.DeserializeObject<Dictionary>(json); return values; } 

byte[]是某种编码文本吗? 如果是这样,首先解码它,例如,如果编码是UTF8:

 public static Dictionary parse(byte[] json){ string jsonStr = Encoding.UTF8.GetString(json); return JsonConvert.DeserializeObject>(jsonStr); } 

要了解byte []中的内容,您应该指定编码并使用实际可以获取byte []的方法。

由于我不知道这种方法,这将是您的问题的解决方案 –

所以正确的做法是 –

 public static Dictionary parse(byte[] json) { var reader = new StreamReader(new MemoryStream(json), Encoding.Default); Dictionary values = new JsonSerializer().Deserialize>(new JsonTextReader(reader)); return values; } 

另一种可能有助于解释应该如何进行去学术化的方法是 –

 var jsonString = System.Text.Encoding.Default.GetString(json); Dictionary values = JsonConvert.DeserializeObject>(jsonString);