【发布时间】:2017-01-06 06:24:42
【问题描述】:
我有以下代码
string downloadString = client.DownloadString(serviceurl);
List<Player> myDeserializedObjList = (List<Player>)JsonConvert.DeserializeObject(downloadString, typeof(List<Player>));
调试代码时downloadString有如下值
"{\"GetPlayerInfoResult\":\"[{\\\"PlayerId\\\":1,\\\"FirstName\\\":\\\"Ryan\\\",\\\"LastName\\\":\\\"Richard\\\",\\\"Age\\\":30},{\\\"PlayerId\\\":2,\\\"FirstName\\\":\\\"Petrus\\\",\\\"LastName\\\":\\\"Prinsloo\\\",\\\"Age\\\":20}]\"}"
在反序列化行我收到以下错误
{"无法将当前 JSON 对象(例如 {\"name\":\"value\"})反序列化为类型 'System.Collections.Generic.List`1[WFAPlayers.Player]',因为该类型需要JSON 数组(例如 [1,2,3])以正确反序列化。\r\n要修复此错误,请将 JSON 更改为 JSON 数组(例如 [1,2,3])或更改反序列化类型,使其可以从 JSON 对象反序列化的普通 .NET 类型(例如,不是像整数这样的原始类型,不是像数组或列表这样的集合类型)。也可以将 JsonObjectAttribute 添加到该类型以强制它从 JSON 对象反序列化.\r\n路径 'GetPlayerInfoResult',第 1 行,位置 23。"}
任何想法我可以解决这个问题。
谢谢
【问题讨论】:
标签: c# json serialization