簡體   English   中英

將 JSON 數組中的多個對象傳遞到 MVC 應用程序

[英]Passing multiple objects from JSON array into MVC application

我有一個 MVC 應用程序,我想從中使用 API,其結構如下所示。 但是,我得到了一個錯誤

Object 引用未設置為 object 的實例

在下面的 Web Api controller

     public IHttpActionResult Post(MyViewModel myViewModel)
     {
         MasterFile ord = myViewModel.MasterFile;
         var ordDetails = myViewModel.LineItems;
         return Ok();
     }

我的模型結構如下:

public class MasterFile
{
    public string payer_prov_name { get; set; }
    public int roaming_amount { get; set; }

    public ICollection<LineItems> LineItems { get; set; }
}

public class LineItems
{
    public string prov_item_name { get; set; }

    [Key]
    public int item_id { get; set; }
}

public class MyViewModel
{
    public MasterFile MasterFile { get; set; }
    public LineItems[] LineItems { get; set; }
}

JSON 的結構如下 - 我刪除了一些字段,因為它們相當多:

(
[0] => Array
    (

        [payer_prov_name] 
        [roaming_amount] 
        [claim_code] 
        [invoices] => Array
            (
                [0] => Array
                    (
                        [line_items] => Array
                            (
                                [0] => Array
                                    (
                                        [prov_item_name] 
                                        [prov_item_code] 
                                        [payer_group_code]  
                                        [item_id] 
                                    )

                                [1] => Array
                                    (
                                        [prov_item_name] 
                                        [prov_item_code] 
                                    )
                            )
                        [payer_benefit_desc]  
                        [payer_benefit_code] 
                        [invoice_id]  
                    )
            )
        [diagnosis] => Array
            (
                [0] => Array
                    (
                        [code] 
                        [coding_standard] 

                    )
            )
        [start_date]  
        [end_date] 
    )
)
) 

關於如何構建它的任何幫助都會有所幫助

當我使用外部 API 時,我在 Newtonsoft.Json.Z06416233FE5EC4C593Z3122E4AB248AF1 中使用JsonConvert.DeserializeObjectJsonConvert.SerializeObject 但是,您發布的內容看起來不像 json。

RecieveDocument doc = JsonConvert.DeserializeObject<Document>(json);

我有struct RecieveDocument ,其屬性類似於 json

public struct RecieveDocument
        {
            public int? Id { get; set; }
            public string DocumentNumber { get; set; }
            public string ExternalDocumentNumber { get; set; }
            public string ExternalId1 { get; set; }
            public IEnumerable<TrackingParameter> TrackingParameters { get; set; }
        }

或者我用這個

    [JsonProperty("access_token")]
    public string AcessToken { get; set; }
    [JsonProperty("token_type")]
    public string TokenType { get; set; }
    [JsonProperty("expires_in")]
    private int Expires

序列化程序可以處理這些屬性。 您可以從結構/類創建 json 或從 json 創建實例。 請記住,如果您獲得 null,在任何 json 屬性中,您必須具有可為空的類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM