>백엔드 개발 >C++ >JavaScriptTerializer를 사용하여 JSON에서 .NET ENUM을 문자열로 직렬화하는 방법은 무엇입니까?

JavaScriptTerializer를 사용하여 JSON에서 .NET ENUM을 문자열로 직렬화하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-29 09:21:14279검색

How to Serialize a .NET Enum as a String in JSON using JavaScriptSerializer?
javascriptSerializer

가있는 JSON의 문자열로 .NET Enums를 직렬화합니다 표준 .net

는 종종 JSON 내에서 정수 값으로 열거를 출력합니다. 이름을 나타내는 문자열로 직렬화하려면 몇 가지 방법이 존재합니다. 메소드 1 : json.net의

활용 가장 간단하고 권장되는 접근 방식은 json.net의 강력한 를 사용합니다. 이 변환기는 열거 정의 레벨 또는 속성 레벨에서 적용 할 수 있습니다. JavaScriptSerializer 이것은 결과 JSON에서 속성이 문자열 ( "수컷"또는 "여성")으로 직렬화되도록합니다.

방법 2 : 글로벌 구성 옵션 더 넓은 응용 프로그램의 경우 StringEnumConverter globally : 를 구성하십시오

열거 수준에서 StringEnumConverter :

해당 열거의 모든 용도에 걸쳐 일관된 문자열 직렬화를 위해 열거 정의 자체에 컨버터를 적용하십시오.
<code class="language-csharp">using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

[JsonConverter(typeof(StringEnumConverter))]
public enum Gender { Male, Female }

public class Person
{
    public int Age { get; set; }
    [JsonConverter(typeof(StringEnumConverter))] // Or apply at property level
    public Gender Gender { get; set; }
}</code>

Gender

with

: : 컨버터를 특정

인스턴스에 추가하여 해당 인스턴스에 의해 직렬화 된 열거 된 열거에만 영향을 미칩니다.

StringEnumConverter

    with
  • :

    직렬화 중에 변환기를 직접 바르십시오 :

    [JsonConverter(typeof(StringEnumConverter))] public enum Gender { Male, Female }
  • 의 사용자 정의
  • 생성자는 추가 사용자 정의를 제공하여 명명 규칙 및 번호 처리를 제어 할 수 있습니다. 자세한 옵션은 JSON.NET 문서를 참조하십시오

위 내용은 JavaScriptTerializer를 사용하여 JSON에서 .NET ENUM을 문자열로 직렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.