1

내 Web-API의 입력 매개 변수로 전달되는 다음 JSON 문자열이 있습니다. 다단계 JSON 데이터에 액세스하는 데 문제가 있습니다. 매개 변수에 NULL 값만 수신 중입니다. 다음은 C#을[FromBody] 인수로 전달 된 Json 데이터가 클래스에 NULL을 제공합니다.

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에서 데이터를 받아 들일에서

{"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()"} ]} 

클래스,

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

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

는 위와 같이 전체 JSON 문자열을 읽을 수 있습니까? 67, "데프": "main_user" "HIJ" 어느 한 도움, 나는 다음과 같은 JSON의 한 층을했던 한

{ "ABC"해결하기 위해 할 수있는 "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

친애하는 루크, 수정 해 주셔서 감사합니다. 그래도 매개 변수 목록에 NULL 응답이 표시됩니다. – jidh

+0

안녕하세요. 어떻게 JSON을 컨트롤러에 게시하고 있습니까?이 작업을 수행하는 코드를 공유 할 수 있습니까? – Luke

+0

위의 내용을 공유했습니다. 확인해주십시오. – jidh