C # ASP.NET에서 RestSharp 및 JSON.Net을 사용하여 json 배열 역 직렬화

내가 조사한 문제가 있는데 알아낼 수없는 것 같습니다. restsharp 호출에서 API 로의 Json 반환을 역 직렬화하려고합니다. 어레이가 관련되지 않은 첫 번째 제품에서 훌륭하게 작동했습니다. 이제 배열이있는 문자열에서 작업을 시도하고 있으므로 문제가 있습니다. 누군가가 이것을 알아낼 수 있도록 도와 주시면 대단히 감사하겠습니다. 미리 감사드립니다.

그래서 역할을 내 모델에 저장하려고하지만 배열이기 때문에 실패합니다.

내 방법은 다음과 같습니다.

var request = new RestRequest("api/user/{id}", Method.GET);
request.AddUrlSegment("id", id);
var response = client.Execute(request) as RestResponse;
var d = JsonConvert.DeserializeObject<List<MyModel>>(response.Content);

내가 받고있는 오류는 위의 줄에 var d = ...있습니다. 그것은 말한다 :

Cannot implicitly convert type
'System.Collections.Generic.List<Models.MyModel>' to 'Models.MyModel'

에 대한 응답 var response은 다음과 같습니다 ( d모델에 저장하기 위해 저장된 역할 가져 오기 시도 ).

"{\"Id\":22,\"FirstName\":\"Shawn\",\"LastName\":\"John\",\"Roles\":[\"User\"]}"

My MyModel은 다음과 같습니다.

public class MyModel
{
    public string Id { get; set; }
    public string Roles { get; set; }
}

업데이트 된 코드

같은 줄에이 오류가 표시됩니다.

Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type
'System.Collections.Generic.List`1[Models.MyModel]' because the type
requires a JSON array (e.g. [1,2,3]) to deserialize correctly.

To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or
change the deserialized type so that it is a normal .NET type (e.g. not
a primitive type like integer, not a collection type like an array or
List<T>) that can be deserialized from a JSON object.
JsonObjectAttribute can also be added to the type to force it to
deserialize from a JSON object.

모델을 다음과 같이 변경했습니다.

public List<MyModel> Roles { get; set; }

및 컨트롤러 변수 :

List<MyModel> deSerialize2 = 
    JsonConvert.DeserializeObject<List<MyModel>>(response.Content);
스미 그

모델을 다음으로 변경해보십시오.

public class MyModel
{
    public int Id { get; set; }
    public List<string> Roles { get; set; }
}

역할은 문자열의 배열입니다.

편집 : 추가 검사 후 id는 실제로 문자열이 아닌 정수입니다.

또한 deserialize 호출을 이것으로 변경하십시오.

var d = JsonConvert.DeserializeObject<MyModel>(response.Content);

json 응답은 배열이 아닙니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C # 및 ASP.NET MVC 및 JSON.NET을 사용하여 JSON 역 직렬화 및 비 기본 개체 인쇄

분류에서Dev

ASP.NET MVC 및 Json.Net을 사용하여보기에서 Json 역 직렬화 출력 표시

분류에서Dev

JSON.NET을 사용하여 dictionary <string, object> 역 직렬화 및 직렬화

분류에서Dev

C #에서 Newtonsoft Json.NET을 사용하여 JSON 역 직렬화

분류에서Dev

C #에서 JSON 배열을 역 직렬화하는 방법

분류에서Dev

루트 개체 및 1 배열 ASP.NET MVC없이 json 역 직렬화

분류에서Dev

Newtonsoft.Json을 사용하여 C #에서 중첩 배열로 json을 역 직렬화하는 방법

분류에서Dev

C #에서 JSON 배열 역 직렬화

분류에서Dev

C #을 사용하여 Wikipedia API에서 JSON 역 직렬화

분류에서Dev

ASP.NET MVC4 'ExtraElements'를 사용하여 JSON을 C # ViewModel로 역 직렬화

분류에서Dev

파일에서 개체를 역 직렬화 및 재 직렬화하는 데 문제가있는 C # JSON.net

분류에서Dev

Json.NET을 사용하여 ArrayList의 ArrayList를 직렬화 및 역 직렬화하는 방법

분류에서Dev

C # JSON.NET을 사용하여 Dictionary <(Enum, Enum), string> 역 직렬화

분류에서Dev

Gson을 사용하여 매핑 할 json 배열 역 직렬화

분류에서Dev

GSON을 사용하여 객체의 JSON 배열 역 직렬화

분류에서Dev

json.net 객체 배열로 역 직렬화 C #

분류에서Dev

Json.NET을 사용하여 Json String에서 중첩 된 DataSet 역 직렬화

분류에서Dev

ASP.NET Web API-JSON을 역 직렬화하는 방법

분류에서Dev

Newtonsoft.JSON을 사용하여 C #으로 Json 문자열 역 직렬화

분류에서Dev

JSON.net을 사용하여 동적으로 역 직렬화

분류에서Dev

json 문자열을 개체 C # .net으로 역 직렬화

분류에서Dev

RestSharp로 JSON 역 직렬화

분류에서Dev

JSON.Net deserializer를 사용하여 동적 JSON 역 직렬화

분류에서Dev

C #에서 JSON 파일 역 직렬화 및 직렬화

분류에서Dev

Android : Retrofit 및 Jackson을 사용하여 동적 JSON 역 직렬화

분류에서Dev

.NET DataContractJsonSerializer serializer를 사용하여 사전으로 JSON 직렬화 / 역 직렬화

분류에서Dev

.NET DataContractJsonSerializer serializer를 사용하여 사전으로 JSON 직렬화 / 역 직렬화

분류에서Dev

C #에서 json.net을 사용하여 Json var 직렬화 해제

분류에서Dev

JSON 문자열을 C # 및 Unity의 개체로 역 직렬화

Related 관련 기사

  1. 1

    C # 및 ASP.NET MVC 및 JSON.NET을 사용하여 JSON 역 직렬화 및 비 기본 개체 인쇄

  2. 2

    ASP.NET MVC 및 Json.Net을 사용하여보기에서 Json 역 직렬화 출력 표시

  3. 3

    JSON.NET을 사용하여 dictionary <string, object> 역 직렬화 및 직렬화

  4. 4

    C #에서 Newtonsoft Json.NET을 사용하여 JSON 역 직렬화

  5. 5

    C #에서 JSON 배열을 역 직렬화하는 방법

  6. 6

    루트 개체 및 1 배열 ASP.NET MVC없이 json 역 직렬화

  7. 7

    Newtonsoft.Json을 사용하여 C #에서 중첩 배열로 json을 역 직렬화하는 방법

  8. 8

    C #에서 JSON 배열 역 직렬화

  9. 9

    C #을 사용하여 Wikipedia API에서 JSON 역 직렬화

  10. 10

    ASP.NET MVC4 'ExtraElements'를 사용하여 JSON을 C # ViewModel로 역 직렬화

  11. 11

    파일에서 개체를 역 직렬화 및 재 직렬화하는 데 문제가있는 C # JSON.net

  12. 12

    Json.NET을 사용하여 ArrayList의 ArrayList를 직렬화 및 역 직렬화하는 방법

  13. 13

    C # JSON.NET을 사용하여 Dictionary <(Enum, Enum), string> 역 직렬화

  14. 14

    Gson을 사용하여 매핑 할 json 배열 역 직렬화

  15. 15

    GSON을 사용하여 객체의 JSON 배열 역 직렬화

  16. 16

    json.net 객체 배열로 역 직렬화 C #

  17. 17

    Json.NET을 사용하여 Json String에서 중첩 된 DataSet 역 직렬화

  18. 18

    ASP.NET Web API-JSON을 역 직렬화하는 방법

  19. 19

    Newtonsoft.JSON을 사용하여 C #으로 Json 문자열 역 직렬화

  20. 20

    JSON.net을 사용하여 동적으로 역 직렬화

  21. 21

    json 문자열을 개체 C # .net으로 역 직렬화

  22. 22

    RestSharp로 JSON 역 직렬화

  23. 23

    JSON.Net deserializer를 사용하여 동적 JSON 역 직렬화

  24. 24

    C #에서 JSON 파일 역 직렬화 및 직렬화

  25. 25

    Android : Retrofit 및 Jackson을 사용하여 동적 JSON 역 직렬화

  26. 26

    .NET DataContractJsonSerializer serializer를 사용하여 사전으로 JSON 직렬화 / 역 직렬화

  27. 27

    .NET DataContractJsonSerializer serializer를 사용하여 사전으로 JSON 직렬화 / 역 직렬화

  28. 28

    C #에서 json.net을 사용하여 Json var 직렬화 해제

  29. 29

    JSON 문자열을 C # 및 Unity의 개체로 역 직렬화

뜨겁다태그

보관