728x90
반응형
질문 : JavaScriptSerializer-열거 형을 문자열로 JSON 직렬화
enum
속성을 포함하는 클래스가 있고 JavaScriptSerializer
사용하여 개체를 직렬화하면 string
"name"이 아닌 열거 형의 정수 값이 포함됩니다. JavaScriptConverter
를 만들지 않고 내 json에서 string
로 열거 형을 얻는 방법이 있습니까? enum
정의 또는 개체 속성을 장식 할 수있는 속성이 있습니까?
예로서:
enum Gender { Male, Female }
class Person
{
int Age { get; set; }
Gender Gender { get; set; }
}
원하는 json 결과 :
{ "Age": 35, "Gender": "Male" }
기본 제공 .NET 프레임 워크 클래스로 답변을 찾는 것이 이상적이며, 가능하지 않은 경우 (Json.net과 같은) 대안을 환영합니다.
답변
사용할 수있는 특별한 속성이 없습니다. JavaScriptSerializer
enums
을 문자열 표현이 아닌 숫자 값으로 직렬화합니다. enum
을 숫자 값 대신 이름으로 직렬화하려면 사용자 지정 직렬화를 사용해야합니다.
당신이 대신 JSON.Net 사용할 수있는 경우 JavaScriptSerializer
참조보다 이 질문에 대한 답변 에서 제공 OmerBakhari : JSON.net은 (속성을 통해이 유스 케이스 커버 [JsonConverter(typeof(StringEnumConverter))]
내장에 의해 처리되지 및 많은 다른 사람을) .net 시리얼 라이저.다음은 serializer의 기능을 비교하는 링크 입니다.
출처 : https://stackoverflow.com/questions/2441290/javascriptserializer-json-serialization-of-enum-as-string
728x90
반응형
'개발관련 > other' 카테고리의 다른 글
C # 부분 클래스 사용시기 (0) | 2021.12.15 |
---|---|
sudo echo "something">> / etc / privilegedFile이 작동하지 않습니다. (0) | 2021.12.14 |
Error - Unable to access the IIS metabase (0) | 2021.12.14 |
Bash 스크립트에서 사용자에게 확인을 요청하는 방법 (0) | 2021.12.12 |
django OneToOneField와 ForeignKey의 차이점 (0) | 2021.12.11 |