您好,我想反序列化一个包含 a string
、 abool
和 a 的类List<[mystructtype>
;
当使用JsonConvert.Deserialize<[myclass]>
它反序列化string
和bool
正确但不是List<[Struct]>
。我还List<struct>
用一个数组更改了structs
. 容器和容器
都标有,我不明白问题出在哪里。谁能帮我?class
struct
Serializeable
结构
[Serializable]
public struct Status
{
//identifiers
public long playerId { get; set; }
public long groupId { get; set; }
public int type { get; set; }
}
类容器
[Serializable]
class GatewayDeviceResponse
{
public bool status { get; set; } //gets deserialized good
public string message { get; set; } //gets deserialized good
public Status[] data { get; set; } // all members are defaults
}
反序列化
IRestResponse response = client.Execute(request);
string result = Encoding.UTF8.GetString(response.RawBytes);
GatewayDeviceResponse resp = JsonConvert.DeserializeObject<GatewayDeviceResponse>(result);
return resp.data.ToList();
PS该字符串是来自a的响应webserver
,我RestSharp
用于创建服务器请求并获取响应。问题是字符串response
很好。除了。class
deserialized
collection
问题可能是什么?
PS 我得到的服务器的字符串响应是:
"{
\"status\":true,
\"message\":\"ok\",
\"data\":[
{
\"status\":{
\"playerId\":59,
\"groupId\":26,
\"type\":2,
\"deviceId\":\"abababa",
\"groupName\":\"srl\",
\"playerName\":\"Adrian\"
}
},
{
\"status\":{
\"playerId\":25,
\"groupId\":26,
\"type\":1,
\"deviceId\":\"lalal\",
\"groupName\":\"srl\",
\"playerName\":\"Alex\"
}
}
]
}"
Status[]
数组元素不应该被服务器响应完全填充,只有我在 / 中发布的 3个POCO
字段