2011-10-02 2 views
2

C# 사용자 지정 JSON 직렬화

class X{ 
    public string a{get;set} 
    public string b{get;set} 
} 

{..., inst:{a:"value", b:"value"}, ...} 

내 클래스의 객체가 필요 같은 직렬화이 클래스는 다음과 같이 직렬화 :

X가
{..., inst: x, ...} 

인 경우 A + b 수업에서 JSON 직렬화 과정을 어떻게 사용자 정의 할 수 있습니까?

답변

2

Checkout Newton-softs JSON 시리얼 라이저. 꽤 귀엽다.

당신이하고 개인 B을 시도했다 다음

public string x { get { return a + b; } } 
+0

위대한 아이디어에 대한 sum-property,하지만 나는이 필드를 공개해야하므로 데이터베이스에서이 개체를 먼저 deserialize. 그래서 Newton 라이브러리를 사용할 것입니다. 불행히도 상자의 해결책은 없습니다. – FLCL

+0

지속성 모델 및 viewmodel (또는 Json으로 직렬화하는 항목)에 전용 클래스를 사용하는 것을 고려하십시오. 나는 이것이 이런 문제를 피하는 가장 쉬운 방법이라고 생각한다. 모델 간의 매핑이 너무 복잡하면 automapper를 사용하여 관리하는 것을 고려하십시오. –

1

같은 개인 GET 직렬화에서 제거 갖는이

class X{ 
    public string a{private get;set;} 
    public string b{private get;set;} 
    public string x {get{ return a + b; }} 
} 

처럼 시도가 있지만 여전히 할 수 있습니다 세트. 다른 옵션은 이와 같이하는 것입니다.

class X{ 
    public string a{set;} 
    public string b{set;} 
    public string x {get{ return a + b; }} 
}