DataContractJsonSerializerを使用した変数Type JSON配列の逆シリアル化

StackOverflow https://stackoverflow.com/questions/1215479

  •  06-07-2019
  •  | 
  •  

質問

この形式のJSON文字列があります:

string jsonStr = "[\"A\", [\"Martini\", \"alovell\"],[\"Martin\", \"lovell\"]]"

次のコードスニペットでC#.NETデシリアライザーDataContractJsonSerializerを使用してJSONをデシリアライズしようとしています

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が含まれます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top