私はこの質問がひどく尋ねられたことを知っていますが、既存の答えは私にとって特に役に立ちませんでした。JSONをC#動的オブジェクトに逆シリアル化するのが最善ですか?、しかし、オブジェクトを作成したくないので、辞書を作成したいと思います。
私は自分のデータをそのようにシリアル化し、まったく同じデータ構造に逆シリアル化したいです。
public static string AugDictToJSON(Dictionary<string, List<Dictionary<string, object>>> dict)
{
return string.Join(",", dict.Select(
d => string.Format("{{ \"{0}\" : [ {1} ] }}", d.Key,
string.Join(",", d.Value.Select(i => SubAugDictToJSON(i)).ToArray())
)).ToArray());
}
public static string SubAugDictToJSON(Dictionary<string, object> dict)
{
return string.Join(",", dict.Select(
d => string.Format("{{ \"{0}\" : \"{1}\" }}", d.Key, d.Value.ToString())
).ToArray());
}
編集:解決策は次のとおりです(受け入れられた回答から):
public static Dictionary<string, List<Dictionary<string, object>>> JSONToAugDict(string json)
{
return JsonConvert.DeserializeObject<Dictionary<string, List<Dictionary<string, object>>>>(json);
}