DataContractJsonserializer를 사용하여 변수 유형 JSON 배열을 사로화합니다
문제
이 형식의 JSON 문자열이 있습니다.
string jsonStr = "[\"A\", [\"Martini\", \"alovell\"],[\"Martin\", \"lovell\"]]"
다음 코드 스 니펫을 사용하여 C# .NET Deserializer DataContractJsonserializer를 사용하여 JSON을 Desorialize하려고합니다.
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonStr));
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof<X>);
X data = (X)serializer.ReadObject(ms);
이제 JSON 배열은 변수 유형의 배열이므로 객체 X의 유형이 어떤 유형인지 모릅니다.
내 끈이 있다면
jsonStr = "[[\"Martini\", \"alovell\"],[\"Martin\", \"lovell\"]]"
나는 이것을 사용할 수있다 :
X = List<List<String>>
그리고 그것은 나를 위해 효과가있을 것입니다. 가변 유형 JSON 배열을 실질화 할 수있는 방법이 있는지 궁금합니다.
해결책
당신은 사용할 수 있습니다 json.net 이것을하기 위해.
JArray a = JArray.Parse(jsonStr);
Jarray는 JSON에 따라 문자열 또는 중첩 Jarray를 포함합니다.
제휴하지 않습니다 StackOverflow