JSON 응답 형식 지정

==== 요약 ====

JSON 응답 형식을 지정하는 데 도움이 필요합니다. 모델 및 컨트롤러와 함께 ASP.Net을 사용하고 있습니다.

==== 정보 ====

ASP.Net에서 웹 API를 작업 중입니다. 일부 데이터를 가져 와서 DataTable에 넣는 SQL 백엔드가 있습니다. 내 DataTable은 다음과 같습니다.

+ ---- + ------- + ------- + 
| 아이디 | 제목 | 사용자 | 
+ ---- + ------- + ------- + 
| 1 | 테스트 | user1 | 
| 1 | 테스트 | user2 | 
+ ---- + ------- + ------- +

참고 : 하나의 레코드에 여러 사용자가있을 수 있으므로 두 행 모두에 대해 ID가 "1"입니다 ( "ID"는 실제 SQL 테이블 행의 고유 ID가 아니라 외래 키입니다 ... 어쨌든 나는 다이 그레스 ...)

다음과 같은 C # 모델을 만들었습니다.


    public class Record 
        { 
            public int ID {get; 세트; } 
            공개 문자열 제목 {get; set;} 
            공개 문자열 사용자 {get; 설정;} 
        }

마지막으로 내 컨트롤러는 다음과 같습니다.


 DataBaseHelper db = 새로운 DataBaseHelper (); 

    public IEnumerable Get_Record (string id) 
    { 
        // DataTable 
        DataTable 가져 오기 dt = new DataTable (); 
        dt = db.GetRecord (id); 

        foreach (dt.Rows의 DataRow 행) 
        { 
            yield return new Record 
            { 
                ID = row.Field ( "ID"), 
                Title = row.Field ( "Title"), 
                Users = row.Field ( "Users") 
            }; 
        } 

    }

API를 호출하면 다음과 같이 표시됩니다.


    [ 
      -{ 
         ID : 1, 
         제목 : "Test", 
         사용자 : "user1" 
       }, 

      -{ 
         ID : 1, 
         제목 : "Test", 
         사용자 : "user2" 
       } 
    ]

==== 질문 ====

가능한 경우 다음과 같이 JSON 응답을 받으려면 어떻게해야합니까?


    { 
     "응답": 
       [ 
        { 
          ID : 1, 
          제목 : "Test", 
          사용자 : 
           [ 
             {name : "user1"}, 
             {name : "user2"} 
           ] 
        } 
       ] 
    }

그것이 가능하지 않다면 이것도 좋을 것입니다.


    "응답": 
    [ 
      { 
         ID : 1, 
         제목 : "Test", 
         사용자 : "user1" 
      }, 

      { 
         ID : 1, 
         제목 : "Test", 
         사용자 : "user2" 
      } 
    ]

nick_w

@Shahrooz Jefri의 답변을 확장하려면 HttpResponseMessage익명 객체를 반환 할 수있는를 반환 할 수 있지만 필요에 따라 형식이 지정된 결과를 얻으려면 Get_Record메서드 를 수정해야합니다 .

public HttpResponseMessage Get_Record(string id)
{
    // Get DataTable
    DataTable dt = new DataTable();
    dt = db.GetRecord(id);

    var records = dt.Rows.Select(r => new Record()
    {
        ID = row.Field("ID"),
        Title = row.Field("Title"),
        Users = row.Field("Users")
    });

    return this.Request.CreateResponse(HttpStatusCode.OK,
        new
        {
            Response = new
            {
                ID = records.First().ID,
                Title = records.First().Title,
                Users = records.Select(r => r.Users)
            }
        });
}

이 접근 방식을 사용하면 먼저에 대한 호출의 결과를 개체 db.GetRecord변환 합니다.IEnumerable<Record>Record

여기에서 서식 요구 사항에 맞게 익명 개체를 만들 수 있습니다. 내 대답에는 오류 검사를 적용하지 않았습니다. db.GetRecord결과를 반환하지 않는 경우에 대한 호출로 인해 응답 개체 IDTitle필드를 채울 때 예외가 발생 하므로 records.First().

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

차트 용 Google 스프레드 시트 JSON 응답 형식 지정

분류에서Dev

사용자 정의 날짜 형식에 대한 json 응답 날짜 형식

분류에서Dev

사용자 정의 날짜 형식에 대한 json 응답 날짜 형식

분류에서Dev

WHOIS 응답 형식 지정 방법

분류에서Dev

웹 API의 응답 형식 지정

분류에서Dev

JSON 형식의 REST API 응답

분류에서Dev

REST 서비스 | JSON 응답 형식

분류에서Dev

올바른 형식의 JSON 응답

분류에서Dev

JSON 응답 AJAX의 잘못된 형식

분류에서Dev

JSON의 Restlet 오류 응답 형식

분류에서Dev

Hanami에서 404 오류 응답 형식을 JSON으로 설정하는 방법

분류에서Dev

api json 응답이 배열 형식으로 제공되지 않음

분류에서Dev

나머지 API 응답 형식

분류에서Dev

Python-Eve : HTTP 200에 대한 GET 응답 형식 지정

분류에서Dev

응답에 JSON 이름 지정

분류에서Dev

JSON 응답 형식 오류-응답 전 빨간색 점 \ 글 머리 기호

분류에서Dev

json 응답 수정-WEbAPI

분류에서Dev

Java에서 JSON 형식의 API 응답에서 변수를 정의하는 데 도움이 필요합니다.

분류에서Dev

JSON은 특정 형식 데이터를 게시하고 Android에서 응답을받습니다.

분류에서Dev

axios 응답 데이터 유형 지정

분류에서Dev

응답을 지우는 정규식

분류에서Dev

Android : JSON 응답에서 날짜를 변환 할 때 "지정된 개체를 날짜로 형식화 할 수 없습니다"오류가 발생했습니다.

분류에서Dev

Python-Binance의 JSON API 응답 형식 변경

분류에서Dev

fast-json-stringify로 응답에 사용할 형식

분류에서Dev

fast-json-stringify로 응답에 사용할 형식

분류에서Dev

Spring MVC Restful-잘못된 JSON 응답 형식

분류에서Dev

json 형식으로 Sparql 쿼리 응답 검색

분류에서Dev

HTML 테이블 형식에 대한 다중 Json 응답

분류에서Dev

응답 본문 JSON의 직렬화 된 날짜 형식

Related 관련 기사

  1. 1

    차트 용 Google 스프레드 시트 JSON 응답 형식 지정

  2. 2

    사용자 정의 날짜 형식에 대한 json 응답 날짜 형식

  3. 3

    사용자 정의 날짜 형식에 대한 json 응답 날짜 형식

  4. 4

    WHOIS 응답 형식 지정 방법

  5. 5

    웹 API의 응답 형식 지정

  6. 6

    JSON 형식의 REST API 응답

  7. 7

    REST 서비스 | JSON 응답 형식

  8. 8

    올바른 형식의 JSON 응답

  9. 9

    JSON 응답 AJAX의 잘못된 형식

  10. 10

    JSON의 Restlet 오류 응답 형식

  11. 11

    Hanami에서 404 오류 응답 형식을 JSON으로 설정하는 방법

  12. 12

    api json 응답이 배열 형식으로 제공되지 않음

  13. 13

    나머지 API 응답 형식

  14. 14

    Python-Eve : HTTP 200에 대한 GET 응답 형식 지정

  15. 15

    응답에 JSON 이름 지정

  16. 16

    JSON 응답 형식 오류-응답 전 빨간색 점 \ 글 머리 기호

  17. 17

    json 응답 수정-WEbAPI

  18. 18

    Java에서 JSON 형식의 API 응답에서 변수를 정의하는 데 도움이 필요합니다.

  19. 19

    JSON은 특정 형식 데이터를 게시하고 Android에서 응답을받습니다.

  20. 20

    axios 응답 데이터 유형 지정

  21. 21

    응답을 지우는 정규식

  22. 22

    Android : JSON 응답에서 날짜를 변환 할 때 "지정된 개체를 날짜로 형식화 할 수 없습니다"오류가 발생했습니다.

  23. 23

    Python-Binance의 JSON API 응답 형식 변경

  24. 24

    fast-json-stringify로 응답에 사용할 형식

  25. 25

    fast-json-stringify로 응답에 사용할 형식

  26. 26

    Spring MVC Restful-잘못된 JSON 응답 형식

  27. 27

    json 형식으로 Sparql 쿼리 응답 검색

  28. 28

    HTML 테이블 형식에 대한 다중 Json 응답

  29. 29

    응답 본문 JSON의 직렬화 된 날짜 형식

뜨겁다태그

보관