Newtonsoft JSON : TypeNameHandling-$ type 용도

앤디 코스

$typeJSON 데이터에서 가치를 생성 하는 주요 목적 (또는 장점)은 무엇입니까? 어떤 식 으로든 역 직렬화를 단순화합니까?

TypeNameHandling내 의도는 특히 역 직렬화 중에 강력한 유효성 검사를하는 것이었기 때문에 (비) 직렬화 기의 속성을 설정하여 활성화했습니다 . 하지만 이제는 생성 된 $type정보 없이도 deserializer가 데이터를 deserialize하는 데 문제가 없음을 알았습니다 .

그렇다면 $typeNewtonsoft JSON과 함께 사용하는 사용 사례는 무엇입니까?

스타일

이 설정을 사용하면 유형 정의에 인터페이스 또는 (추상) 기본 클래스가있는 클래스를 직렬화 할 수 있습니다.

다음 유형을 고려하십시오.

public class MySerializableClass
{
    public IOther Other {get;set;}
    public BaseClass Base {get;set;}
}

public interface IOther
{
    public string Foo {get;set;}
}

public abstract class BaseClass
{
    public int MyNumber {get;set;}
}

다음과 같이하면 :

JsonConvert.DeserializeObject<MySerializableClass>(json);

json.net은 추상이기 때문에 IOther 및 Baseclass의 인스턴스를 생성하는 방법을 모릅니다. 따라서 결과 json의 $ type 멤버에 해당 속성의 인스턴스 유형을 저장하기 때문에 이러한 기본 클래스 또는 인터페이스의 직렬화를 지원하기 위해이 설정을 제공합니다.

bun은 일반적으로 db 또는 무언가에 저장된 json의 유형 이름이 변경 될 수 있고 (네임 스페이스 변경 등) 코드가 변경되는 동안 역 직렬화하는 데 문제가 있기 때문에이 작업을하지 말 것을 제안합니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JSON.net TypeNameHandling : 자동 사용자 지정

분류에서Dev

Json.NET XML 변환 및 TypeNameHandling.Arrays

분류에서Dev

Newtonsoft.Json.JsonReaderException

분류에서Dev

SignalR Core가 Newtonsoft의 TypeNameHandling 설정을 존중하지 않는 것 같습니다.

분류에서Dev

Newtonsoft.Json을 사용하여 json 객체의 끝 감지

분류에서Dev

클라이언트 측에서 Newtonsoft.Json을 사용하도록 Blazor 웹 어셈블리 적용

분류에서Dev

Json Newtonsoft Jarray 빌드

분류에서Dev

How to DeserializeObject with Newtonsoft.Json?

분류에서Dev

c # json newtonsoft 변환

분류에서Dev

Newtonsoft TypeNameHandling.all은 기본 네임 스페이스 검사가 안전합니까?

분류에서Dev

nullable 구조체 및 TypeNameHandling.Auto의 JSON.NET 직렬화

분류에서Dev

Newtonsoft.Json을 사용한 열거 형 역 직렬화

분류에서Dev

newtonsoft를 사용하는 json 구조의 직렬화 문제

분류에서Dev

NewtonSoft를 사용한 C # Chart.js 및 JSON

분류에서Dev

Json.NET (Newtonsoft)을 사용하여 빈 배열을 JSON에서 XML로 변환

분류에서Dev

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

분류에서Dev

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

분류에서Dev

Xamarin Android Newtonsoft.Json을 사용하여 JSON 개체 배열을 읽는 방법

분류에서Dev

newtonsoft json deserializing 문제 (충돌)

분류에서Dev

How to provide custom JSON format using Newtonsoft

분류에서Dev

Newtonsoft Json 동적 개체

분류에서Dev

Newtonsoft JSON deserializer가 새 줄이있는 문자열을 수락하지 못하도록 방지 (엄격한 JSON 규칙 적용)?

분류에서Dev

메서드를 찾을 수 없음 : 'System.Object Newtonsoft.Json.Linq.JToken.ToObject (System.Type)'

분류에서Dev

newtonsoft JSON deseralizer를 사용하여 Geopoint를 어떻게 역 직렬화합니까?

분류에서Dev

newtonsoft를 사용하여 두 개의 JSON 객체에서 차이점 얻기

분류에서Dev

Newtonsoft.Json System.InvalidOperationException : 동기 작업이 허용되지 않습니다.

분류에서Dev

Newtonsoft.Json을 사용하여 이름을 값으로 역 직렬화

분류에서Dev

newtonsoft를 사용하여 VB.NET/C#에서 Json 파일로드

분류에서Dev

C # Newtonsoft.json DefaultContractResolver IValueProvider를 사용하여 데이터 충돌 대체

Related 관련 기사

  1. 1

    JSON.net TypeNameHandling : 자동 사용자 지정

  2. 2

    Json.NET XML 변환 및 TypeNameHandling.Arrays

  3. 3

    Newtonsoft.Json.JsonReaderException

  4. 4

    SignalR Core가 Newtonsoft의 TypeNameHandling 설정을 존중하지 않는 것 같습니다.

  5. 5

    Newtonsoft.Json을 사용하여 json 객체의 끝 감지

  6. 6

    클라이언트 측에서 Newtonsoft.Json을 사용하도록 Blazor 웹 어셈블리 적용

  7. 7

    Json Newtonsoft Jarray 빌드

  8. 8

    How to DeserializeObject with Newtonsoft.Json?

  9. 9

    c # json newtonsoft 변환

  10. 10

    Newtonsoft TypeNameHandling.all은 기본 네임 스페이스 검사가 안전합니까?

  11. 11

    nullable 구조체 및 TypeNameHandling.Auto의 JSON.NET 직렬화

  12. 12

    Newtonsoft.Json을 사용한 열거 형 역 직렬화

  13. 13

    newtonsoft를 사용하는 json 구조의 직렬화 문제

  14. 14

    NewtonSoft를 사용한 C # Chart.js 및 JSON

  15. 15

    Json.NET (Newtonsoft)을 사용하여 빈 배열을 JSON에서 XML로 변환

  16. 16

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

  17. 17

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

  18. 18

    Xamarin Android Newtonsoft.Json을 사용하여 JSON 개체 배열을 읽는 방법

  19. 19

    newtonsoft json deserializing 문제 (충돌)

  20. 20

    How to provide custom JSON format using Newtonsoft

  21. 21

    Newtonsoft Json 동적 개체

  22. 22

    Newtonsoft JSON deserializer가 새 줄이있는 문자열을 수락하지 못하도록 방지 (엄격한 JSON 규칙 적용)?

  23. 23

    메서드를 찾을 수 없음 : 'System.Object Newtonsoft.Json.Linq.JToken.ToObject (System.Type)'

  24. 24

    newtonsoft JSON deseralizer를 사용하여 Geopoint를 어떻게 역 직렬화합니까?

  25. 25

    newtonsoft를 사용하여 두 개의 JSON 객체에서 차이점 얻기

  26. 26

    Newtonsoft.Json System.InvalidOperationException : 동기 작업이 허용되지 않습니다.

  27. 27

    Newtonsoft.Json을 사용하여 이름을 값으로 역 직렬화

  28. 28

    newtonsoft를 사용하여 VB.NET/C#에서 Json 파일로드

  29. 29

    C # Newtonsoft.json DefaultContractResolver IValueProvider를 사용하여 데이터 충돌 대체

뜨겁다태그

보관