我在解决这条错误信息时遇到了问题。我在这里看了一些其他的答案,并改变了一些东西,但是我仍然收到了这个错误:
'System.Collections.Generic.List`1Clocker.Models.PeopleLocationForUser‘:无法将当前JSON对象(例如,{“名称”:“值”})反序列化为类型Newtonsoft.Json.JsonSerializationException,因为该类型需要一个JSON数组(例如,1、2、3)才能正确反序列化。
这是我的课:
namespace Clocker.Models
{
public class PeopleLocationForUser
{
string locationPeople { get; set; }
public users users { get; set; }
}
public class users
{
public int EB_Counter { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int TATokenValue { get; set; }
}
}这是反序列化行上出现错误的方法:
public static async Task<PeopleLocationForUser> GetPeopleLocationForUser(string UserName, int LocationId)
{
Uri uri = new Uri(URL + "GetPeopleLocationForUser" + "?username=" + UserName + "&locationid=" + LocationId);
HttpClient myClient = new HttpClient();
var response = await myClient.GetAsync(uri);
var content = await response.Content.ReadAsStringAsync();
var test = JsonConvert.DeserializeObject<List<PeopleLocationForUser>>(content);
//return something when it's working
return null;
}这是Json数据的开始:
{“结果”:真,"locationPeople":[{"EB_Counter":101,“RSS”:“RSS”,“RSS”:"LastName":"13.11.1","TATokenValue":"TS_101_1_RSS_SWIPE"},{"EB_Counter":102,"FirstName":"RSS",“RSS”,“RSS”:“13.11.2”,"TATokenValue":"TS_102_1_RSS_SWIPE"},{“RSS”:93,“RSS”:“RSS”,"LastName":"13.7.1“、”TATokenValue“:”RSS“}、{"EB_Counter":94、"FirstName":"RSS”、"LastName":"13.7.10“、"TATokenValue":"TS_94_1_RSS_SWIPE"}、{"EB_Counter":95、"FirstName":"RSS”、"LastName":"13.8.2“、"TATokenValue":"TS_95_1_RSS_SWIPE"},{"EB_Counter":99,"FirstName":"RSS","LastName":"13.9.2","TATokenValue":"TS_99_1_RSS_SWIPE"}
这就是我的Json数据到达时的样子:

希望你能帮上忙。最终的结果是,我试图将这些数据放到列表中,以便在Xamarin ListView中使用它。
发布于 2016-10-24 13:57:58
您正在接收列表,在您期望的类中只需要一个用户实例,这是类应该是这样的:
public class LocationPeople
{
public int EB_Counter { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string TATokenValue { get; set; }
}
public class RootObject
{
public bool result { get; set; }
public List<LocationPeople> locationPeople { get; set; }
}
var test = JsonConvert.DeserializeObject<RootObject>(content);https://stackoverflow.com/questions/40219837
复制相似问题