Arrays 如何使用mvc5解析数组中具有多个对象的JSON?

Arrays 如何使用mvc5解析数组中具有多个对象的JSON?,arrays,json,asp.net-web-api,Arrays,Json,Asp.net Web Api,我有一个web API,它在调用时返回JSON。问题是它返回的JSON数组具有多个对象。我需要为我的类解析它以创建网格 你可以查一下 我在分析它时遇到以下错误 大宗报价 “Newtonsoft.Json.JsonSerializationException:'无法将当前Json数组(例如[1,2,3])反序列化为类型'OpsArc.Models.OnBoardingDetailsWithResourceDTO',因为该类型需要一个Json对象(例如{“name”:“value”})才能正确反序列

我有一个web API,它在调用时返回JSON。问题是它返回的JSON数组具有多个对象。我需要为我的类解析它以创建网格

你可以查一下

我在分析它时遇到以下错误

大宗报价 “Newtonsoft.Json.JsonSerializationException:'无法将当前Json数组(例如[1,2,3])反序列化为类型'OpsArc.Models.OnBoardingDetailsWithResourceDTO',因为该类型需要一个Json对象(例如{“name”:“value”})才能正确反序列化

要修复此错误,请将JSON更改为JSON对象(例如{“name”:“value”}),或将反序列化类型更改为数组或实现集合接口的类型(例如ICollection、IList)类似于可以从JSON数组反序列化的列表。还可以将JsonArrayAttribute添加到类型中,以强制它从JSON数组反序列化。 路径“”,第1行,位置1。“”

您可以使用将json输出转换为各自的类。您将获得以下输出

public class ThisResource
{
    public string id { get; set; }
    public object empRec { get; set; }
    public int createdBy { get; set; }
    public object payrollId { get; set; }
    public int resourceTypeID { get; set; }
    public string resourceTypeValue { get; set; }
    public string resourceTypeStoredValue { get; set; }
    public string ssn { get; set; }
    public string lastName { get; set; }
    public string middleName { get; set; }
    public string firstName { get; set; }
    public string localEmployeeId { get; set; }
    public int resourceStatusId { get; set; }
    public object resourceStatusValue { get; set; }
    public object resourceStatusStoredValue { get; set; }
    public object vendorId { get; set; }
    public object alertRec { get; set; }
    public object alertNote { get; set; }
    public object divRec { get; set; }
    public object repRec { get; set; }
    public object hold { get; set; }
    public object holdNote { get; set; }
    public object cdid { get; set; }
    public object shortNotes { get; set; }
    public object doNotPlace { get; set; }
    public object modifiedBy { get; set; }
    public object lastModifiedOn { get; set; }
    public DateTime ts { get; set; }
}

public class ThisBoardingDetails
{
    public string id { get; set; }
    public string resourceOnboardingID { get; set; }
    public int desiredResourceTypeID { get; set; }
    public int offerExpires { get; set; }
    public object desiredResourceTypeValue { get; set; }
    public object desiredResourceTypeStoredValue { get; set; }
    public string jobOrderID { get; set; }
    public string backgroundCheckID { get; set; }
    public int emailID { get; set; }
    public string requestDate { get; set; }
    public object onboardingRequest { get; set; }
    public int onboardingStatusCode { get; set; }
    public string resourceID { get; set; }
}

public class RootObject
{
    public ThisResource thisResource { get; set; }
    public ThisBoardingDetails thisBoardingDetails { get; set; }
}

您需要解决一些问题,但这是一个足够好的资源,可以为您提供一个开始。

感谢您的回复,我已经从该网站创建了一些类,但在解析数据时发现了错误。然后您需要使用相关错误和信息更新您的答案。就目前情况而言,你的问题无助于帮助你,请阅读——总结是,这不是一种向志愿者致辞的理想方式,可能对获得答案产生反作用。请不要把这个添加到你的问题中。谢谢。下次我会记住的