2017-09-27 5 views
-1

JSONが呼び出されたときにJSONを返すWeb APIがあります。問題は、複数のオブジェクトを持つJSONの配列を返すことです。私はグリッドを作成するために私のクラスのためにそれを解析する必要があります。mvc5を使用して配列内に複数のオブジェクトを持つJSONを解析するにはどうすればよいですか?

my api hereを確認できます。

BLOCKQUOTE 「Newtonsoft.Json.JsonSerializationExceptionそれを解析している間、私は次のエラーを取得しています:OpsArc 'タイプに現在のJSON配列(例えば[1,2,3])をデシリアライズすることはできません'。

このエラーを修正するには、JSONオブジェクトをJSONオブジェクト(例:{"name":{"name": "値"})に変更する必要があります。 deserialized型を、リストのようなコレクションインタフェース(ICollection、IListなど)を実装する配列または型に変更します。これは、f JSON配列を作成します。 JsonArrayAttributeを型に追加して、強制的にJSON配列から逆シリアル化することもできます。 パス「」、行1、位置1」」

+0

[速い回答を得るために、どのような状況で私の質問に「緊急」や他の類似のフレーズを追加することができますか?]を読んでください。 //meta.stackoverflow.com/q/326569) - これは理想的な方法ではないという要約ですボランティアに対処するために、おそらく答えを得ることは非生産的です。これをあなたの質問に追加しないでください。 – halfer

+1

ありがとうございます。私は次回に心に留めておきます –

答えて

0
あなたはそれぞれのクラスにあなたのJSON出力を変換するために this website (JSON2CSharp)を使用することができます。

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; } 
} 

あなたが必要になりますあなたは次のような出力が得られます

+0

私はalredyがこのウェブサイトからクラスを作成しましたが、データを解析中にエラーが発生しました –

+0

..その後、関連するエラーと情報で回答を更新する必要があります。それはあなたの質問があなたを助けることに役に立たないことを立証するので、 –

関連する問題