먼저 이므로 JSON 역 직렬화에 대해 다른 질문이 있으시면 죄송합니다. 나는 이것에 대한 대답을 보지 못했다.JSON을 "기본 제공"유형으로 비 직렬화하는 방법
I는 T
같이 재귀 정의 T
에 JSON 직렬화 싶습니다
Dictionary<string, T>
T[]
string
- 기본 유형
(object)T
(박스)
많은 JSON 라이브러리가 deserialized 형식을 지정할 수 있지만 내 경험상 일부 사용자 정의 형식 (JObject
, JsonObject
, 뭐든간에)이 어딘가에 개체 그래프에 나타납니다 (즉, 반환 형식이 특정 깊이에 적용). 타입 맵핑은 자바 스크립트로 거의 일대일로 이루어지기 때문에 직감적 인 것처럼 보입니다.
편집
적으로는, 내가이입니다 "깨끗한"가되도록 JSON을하고 싶습니다, 특별한 필드 ("__type"등) 직렬화 복원에 도움이 없습니다. 자바 스크립트에서 직접 매핑해야합니다 : JObject
->IDictionary<string, T>
, JArray
->T[]
등등.
그동안 FParsec 파서와 핸드 롤링 시리얼 라이저를 사용하고 있습니다. 그것은 훌륭하게 작동하지만, 이미 거기에 이것에 대한 것이있을 것이라고 생각했습니다.
Newtonsoft.JSON을 사용해 보셨습니까? (http://james.newtonking.com/pages/json-net.aspx) 이것은 ravenDB에서 사용하고 deserialization 중에 문제가 발생하지 않았습니다. – wal
네, 그 순간에 제가 사용하고있는 것이고'JObject'는 항상 중첩 된 객체 그래프에 나타납니다. – Daniel
몇 가지 예제 코드와 입력 데이터를 제공 할 수 있습니까? – Timmerz