JsonObject를 C # 개체로 역 직렬화하지 않음

데 자몬도

타사 서비스에 연결하고 다음과 유사한 JsonObject 응답을 받고 있습니다.

    [
    {"header":{"names":["test.1","test.2","test.3","test.4","test.5","test.6"]}}
    ,
    {"name":"test.1","can":"transfer?"}
    ,
    {"name":"test.2","can":"transfer?"}
    ,
    {"name":"test.3","can":"transfer?"}
    ,
    {"name":"test.4","can":"transfer?"}
    ,
    {"name":"test.5","can":"transfer?"}
    ,
    {"name":"test.6","can":"register"}
    ]

따라서 RestSharp 및 JsonConvert.DeserializeObject <T>(response.Content)를 사용하여 <T>RootSearch입니다. 다음 C # 모델을 사용하여 json을 C # 개체로 직렬화 해제하려고합니다.

    public class RootSearch
    {
        public List<SearchShim> Results { get; set; }
    }


    public class SearchShim
    {
        [JsonProperty("header", NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore)]
        public SearchHeader AllUrls { get; set; }

        [JsonProperty("name", NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore)]
        public string Name { get; set; }

        [JsonProperty("can", NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore)]
        public string Can { get; set; }
    }


    public class Search
    {
        [JsonProperty("name", NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore)]
        public string Name { get; set; }

        [JsonProperty("can", NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore)]
        public string Can { get; set; }
    }

    public class SearchHeader
    {
        [JsonProperty("names", NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore)]
        public List<string> Names { get; set; }
    }

그러나 다음과 같은 오류가 계속 발생합니다.

Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'blah.RootSearch' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.

나는 원래 SearchShim을 다음과 같이 시도했습니다.

 public class SearchShim
    {
        [JsonProperty("header", NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore)]
        public SearchHeader AllUrls { get; set; }

        public list<Search> Details { get; set; }
    }

그러나 같은 오류가 계속 발생했습니다.

이제 난 당황해. 분명한 게 빠졌 나봐요?

노아 레이나 겔

귀하의 오류는 RootSearch로 역 직렬화를 시도하고 있다는 사실입니다. 대신 역 직렬화해야합니다.

List<SearchShim>

그리고 이것은 올바른 개체입니다

public class SearchShim
{
    [JsonProperty("header", NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore)]
    public SearchHeader AllUrls { get; set; }

    [JsonProperty("name", NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore)]
    public string Name { get; set; }

    [JsonProperty("can", NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore)]
    public string Can { get; set; }
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C # HttpResponseMessage를 개체로 역 직렬화

분류에서Dev

protobuf는 개체를 올바르게 역 직렬화하지 않습니다.

분류에서Dev

C #에서 JSON을 개체로 역 직렬화하면 값이 매핑되지 않습니다.

분류에서Dev

@JsonTypeInfo 및 @JsonSubTypes를 사용하여 JSON을 다형성 개체 모델로 역 직렬화하지 않습니까?

분류에서Dev

Objective-C를 사용하여 JSON을 사용자 지정 개체로 역 직렬화

분류에서Dev

Google Gson이 ArrayList로 간단한 개체를 올바르게 역 직렬화하지 않습니다.

분류에서Dev

HttpResponseMessage를 모델 개체로 역 직렬화 할 수 없음

분류에서Dev

JSON 개체를 .Net 목록으로 역 직렬화 (C #)

분류에서Dev

C # 중첩 된 JSON의 일부를 개체 속성에 저장하지만 역 직렬화하지 않는 방법은 무엇입니까?

분류에서Dev

JSON을 C # 개체로 역 직렬화

분류에서Dev

xml 개체 C #으로 역 직렬화

분류에서Dev

Gson이 JSON 데이터를 역 직렬화하지 않음

분류에서Dev

JSON을 C # 개체로 역 직렬화-역 직렬화되는 데이터 없음

분류에서Dev

JSON에서 여러 개체 역 직렬화가 작동하지 않음

분류에서Dev

예상대로 작동하지 않는 C # 클래스로 XML 역 직렬화

분류에서Dev

ExpandoObject를 개체로 역 직렬화

분류에서Dev

Angular http의 JSON 개체가 제대로 역 직렬화되지 않음

분류에서Dev

JSON 목록을 C #의 개체 목록으로 역 직렬화 할 수 없음

분류에서Dev

값 목록을 C # 개체로 역 직렬화하는 방법

분류에서Dev

C #에서 XML을 개체로 역 직렬화하는 방법

분류에서Dev

JSON 역 직렬화 후 개체 수를 수정하지만 모두 비어 있음

분류에서Dev

Newtonsoft JSON이 내 json 파일의 중첩 된 개체를 역 직렬화하지 않습니다.

분류에서Dev

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

분류에서Dev

C # / JSON 개체 직렬화, 역 직렬화 및 대 / 소문자 문제 없음

분류에서Dev

개체 직렬화 후 list <object> C #으로 역 직렬화

분류에서Dev

json 파일을 c # list <object>로 역 직렬화하지만 속성이 개체에 들어오지 않습니다.

분류에서Dev

전체 파일을 메모리에로드하지 않고 메시지를 역 직렬화합니까?

분류에서Dev

전체 파일을 메모리에로드하지 않고 메시지를 역 직렬화합니까?

분류에서Dev

Newtonsoft.Json 라이브러리를 사용하여 문자열을 C #을 사용하여 사용자 지정 개체로 역 직렬화하는 방법

Related 관련 기사

  1. 1

    C # HttpResponseMessage를 개체로 역 직렬화

  2. 2

    protobuf는 개체를 올바르게 역 직렬화하지 않습니다.

  3. 3

    C #에서 JSON을 개체로 역 직렬화하면 값이 매핑되지 않습니다.

  4. 4

    @JsonTypeInfo 및 @JsonSubTypes를 사용하여 JSON을 다형성 개체 모델로 역 직렬화하지 않습니까?

  5. 5

    Objective-C를 사용하여 JSON을 사용자 지정 개체로 역 직렬화

  6. 6

    Google Gson이 ArrayList로 간단한 개체를 올바르게 역 직렬화하지 않습니다.

  7. 7

    HttpResponseMessage를 모델 개체로 역 직렬화 할 수 없음

  8. 8

    JSON 개체를 .Net 목록으로 역 직렬화 (C #)

  9. 9

    C # 중첩 된 JSON의 일부를 개체 속성에 저장하지만 역 직렬화하지 않는 방법은 무엇입니까?

  10. 10

    JSON을 C # 개체로 역 직렬화

  11. 11

    xml 개체 C #으로 역 직렬화

  12. 12

    Gson이 JSON 데이터를 역 직렬화하지 않음

  13. 13

    JSON을 C # 개체로 역 직렬화-역 직렬화되는 데이터 없음

  14. 14

    JSON에서 여러 개체 역 직렬화가 작동하지 않음

  15. 15

    예상대로 작동하지 않는 C # 클래스로 XML 역 직렬화

  16. 16

    ExpandoObject를 개체로 역 직렬화

  17. 17

    Angular http의 JSON 개체가 제대로 역 직렬화되지 않음

  18. 18

    JSON 목록을 C #의 개체 목록으로 역 직렬화 할 수 없음

  19. 19

    값 목록을 C # 개체로 역 직렬화하는 방법

  20. 20

    C #에서 XML을 개체로 역 직렬화하는 방법

  21. 21

    JSON 역 직렬화 후 개체 수를 수정하지만 모두 비어 있음

  22. 22

    Newtonsoft JSON이 내 json 파일의 중첩 된 개체를 역 직렬화하지 않습니다.

  23. 23

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

  24. 24

    C # / JSON 개체 직렬화, 역 직렬화 및 대 / 소문자 문제 없음

  25. 25

    개체 직렬화 후 list <object> C #으로 역 직렬화

  26. 26

    json 파일을 c # list <object>로 역 직렬화하지만 속성이 개체에 들어오지 않습니다.

  27. 27

    전체 파일을 메모리에로드하지 않고 메시지를 역 직렬화합니까?

  28. 28

    전체 파일을 메모리에로드하지 않고 메시지를 역 직렬화합니까?

  29. 29

    Newtonsoft.Json 라이브러리를 사용하여 문자열을 C #을 사용하여 사용자 지정 개체로 역 직렬화하는 방법

뜨겁다태그

보관