{"1008":[{"id":1051,"state":2},{"id":1052,"state":1}],"1009":[{"id":1054,"state":1}],"1010":[{"id":1056,"state":2}]} c# 反序列化后 追加数组
时间: 2023-11-09 11:08:25 浏览: 77
这段引用提供了两个不同的信息,一个是关于报错的信息,另一个是关于C#反序列化后追加数组的问题。我将分别回答这两个问题。
关于报错信息,这个错误是由于WebSocket客户端在发送消息时,远程端点处于TEXT_FULL_WRITING状态,这是一个无效的状态。这可能是由于网络问题或代码错误导致的。为了解决这个问题,你可以尝试重新连接WebSocket客户端,或者检查代码中是否有任何错误。
关于C#反序列化后追加数组的问题,你可以使用Json.NET库来反序列化JSON字符串,并将新的数组追加到现有数组中。以下是一个示例代码:
```
// 反序列化JSON字符串
var json = "{\"1008\":[{\"id\":1051,\"state\":2},{\"id\":1052,\"state\":1}],\"1009\":[{\"id\":1054,\"state\":1}],\"1010\":[{\"id\":1056,\"state\":2}]}";
var obj = JsonConvert.DeserializeObject<Dictionary<string, List<Dictionary<string, int>>>>(json);
// 追加新的数组
var newArray = new Dictionary<string, int> { { "id", 1057 }, { "state", 1 } };
obj["1008"].Add(newArray);
// 将对象序列化为JSON字符串
var newJson = JsonConvert.SerializeObject(obj);
```
这段代码将JSON字符串反序列化为一个字典对象,然后将新的数组追加到键为"1008"的列表中。最后,将修改后的对象序列化为JSON字符串。
阅读全文