1

我有一個以下JSON字符串,它作爲我的Web-API的輸入參數傳遞。 我在訪問多級JSON數據時遇到問題,只有NULL值在參數中接收。作爲參數傳遞的Json數據[FromBody]映射到類給出NULL

{"Customer":{"Abc":67,"Def":"main_user","Hij":"0123","Kel":0},"CustomerOrder":{"OrderID":1,"CartId":1,"Amount":10.00,"LogId":123,"UserId":4},"Actions": [  "value": "New", "onclick": "CreateNewDoc()"},  {"value": "Open", "onclick": OpenDoc()"},  {"value": "Close", "onclick": "CloseDoc()"} ]} 

類在C#

public class Rootobject 
{ 
    public Customer Customer { get; set; } 
    public Customerorder CustomerOrder { get; set; } 
    public Action[] Actions { get; set; } 
} 

public class Customer 
{ 
    public int Abc { get; set; } 
    public string Def { get; set; } 
    public string Hij { get; set; } 
    public int Kel { get; set; } 
} 

public class Customerorder 
{ 
    public int OrderID { get; set; } 
    public int CartId { get; set; } 
    public float Amount { get; set; } 
    public int LogId { get; set; } 
    public int UserId { get; set; } 
} 

public class Action 
{ 
    public string value { get; set; } 
    public string onclick { get; set; } 
} 

在這裏,我接受來自postbody數據,

[Route("~/FetchData")] 
// [ActionName("VoucherStatus")] 
    [HttpPost] 
    // GET: http://localhost:28056/FetchData/ // 

    public ProcessedResponse<DashBoradController> ProcessVoucherFetch([FromBody] Rootobject request) 
    { // Some operatons } 

是否可以讀取整個JSON字符串像上面? 任何一個可以幫助解決,我已經做了JSON的一層像下面這樣,

{ 「ABC」:67, 「DEF」: 「main_user」, 「HIJ」: 「0123」, 「Kel」:0 }

但多級JSON給出NULL。

回答

1

您的JSON無效。下面是應綁定到你的對象有效的JSON:

{ 
    "Customer": { 
    "Abc": 67, 
    "Def": "main_user", 
    "Hij": "0123", 
    "Kel": 0 
    }, 
    "CustomerOrder": { 
    "OrderID": 1, 
    "CartId": 1, 
    "Amount": 10, 
    "LogId": 123, 
    "UserId": 4 
    }, 
    "Actions": [ 
    { 
     "value": "New", 
     "onclick": "CreateNewDoc()" 
    }, 
    { 
     "value": "Open", 
     "onclick": "OpenDoc()" 
    }, 
    { 
     "value": "Close", 
     "onclick": "CloseDoc()" 
    } 
    ] 
} 
+0

親愛的盧克,謝謝你的回調,但仍然我得到的參數列表空響應。 – jidh

+0

你好。你如何發佈你的JSON到你的控制器,請你分享這樣做的代碼? – Luke

+0

我已經在上面分享了,請你檢查一下。 – jidh