首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法反序列化当前JSON对象- Newtonsoft

无法反序列化当前JSON对象- Newtonsoft
EN

Stack Overflow用户
提问于 2016-10-24 13:33:56
回答 1查看 2.5K关注 0票数 1

我在解决这条错误信息时遇到了问题。我在这里看了一些其他的答案,并改变了一些东西,但是我仍然收到了这个错误:

'System.Collections.Generic.List`1Clocker.Models.PeopleLocationForUser‘:无法将当前JSON对象(例如,{“名称”:“值”})反序列化为类型Newtonsoft.Json.JsonSerializationException,因为该类型需要一个JSON数组(例如,1、2、3)才能正确反序列化。

这是我的课:

代码语言:javascript
复制
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; }
    }
}

这是反序列化行上出现错误的方法:

代码语言:javascript
复制
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中使用它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-24 13:57:58

您正在接收列表,在您期望的类中只需要一个用户实例,这是类应该是这样的:

代码语言:javascript
复制
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);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40219837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档