我有一个256大小的缓冲区,用于接收数据和"存储"它们作为字节数组。包含的数据是JSON对象,但我无法弄清楚如何操作它们。 我必须处理的最糟糕的事情是JSON对象是堆叠的。第一个JSON对象包含多个JSON对象,每个JSON对象包含另一个JSON对象。第一个字节数组包含第一个对象,最后一个字节数组包含第一个对象的结束括号。
我应该如何获取我想要的数据并进一步操作它们?我想在分离JSON对象后保存SQL数据库中的每个对象。实现列表或数组来保存字节数组会更好吗?还是有更好的解决方案?
答案 0 :(得分:1)
首先将convert字节数组转换为字符串。这还取决于编码。现在你应该得到一个表示为字符串对象的普通JSON。你可以确保你的JSON看起来很好"好"现在只是通过查看字符串变量及其包含的内容,使用开头的字节数组就不那么容易了。
之后,您可以尝试convert从上一步到对象的JSON字符串。
答案 1 :(得分:0)
假设字节数组是使用UTF-8编码的字符串,请使用Encoding.GetString(byte[] bytes)
将其设置为字符串。
byte[] jsonBytes = GetJsonBytes();
string jsonString = Encoding.UTF8.GetString(jsonBytes);
现在,您可以使用Newtonsoft.Json将其转换为DTO类型。
MyDto myDtoObj = JsonConvert.DeserializeObject<MyDto>(jsonString);