2013-09-02 4 views
-1

나는 다음과 같은 있습니다Newtonsoft JSON 이중 변환 JSON 문자열

class Data 
{ 
    Foo foo; 
    string s; 
} 

내가 JSON 문자열로 (의는 "D"를 부르 자) 데이터 객체를 직렬화 필요하고 내가 좋아하는 일을하고 있어요 :

string jsonString = JsonConvert.SerializeObject(d); 

완벽하게 정상적으로 작동합니다.

Data의 문자열 필드 "s"는 다른 JSON 문자열이며 일반 문자열이 아닙니다. Data가 직렬화되면 JSON 문자열 값 "s"도 직렬 변환되어 이중 변환이됩니다.

문자열 필드에 주석을 달아 JSON serializer가 다시 직렬화하지 못하게하려면 어떻게해야합니까?

답변

0

질문이 명확하지 않으므로 추측을합니다. Foo 클래스를 {d:{fooooo}}으로 직렬화하려고합니다. 익명 유형

Foo foo = new Foo(); 
var json = JsonConvert.SerializeObject(new { d = foo }); 

Data 클래스에 대한 필요가 없습니다

를 사용하는 경우

은 그럼 더 좋다.

0

필드 "s"를 "NonSerialized"속성으로 표시 할 수 있습니다. 즉, 필드 "s"가 직렬화되지 않음을 의미합니다.