[英]C# deserialize json into dictionary and reverse KV
我正在嘗試反序列化json並以最小的復雜度反轉鍵/值。 我有一個輸入json看起來像:
{
"1":"apple",
"2":"banana",
"3":"orange",
"4":"grape"
}
並希望將其序列化為Dictionary<string,string>
,但是將字典反向,以便於結果為key
,整數為value
。 用Newtonsoft.Json
可以實現嗎?
var obj = JsonConvert.DeserializeObject<Dictionary<string,string>>(json);
// obj.Keys = { "1", "2", "3" }, but I want them to be { "apple", "banana", ... }
最簡單的方法是從反序列化的字典中創建另一個字典:
JsonConvert.DeserializeObject<Dictionary<string,string>>(json)
.ToDictionary(x => x.Value, x => x.Key);
var obj = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
Dictionary<string, string> temp = new Dictionary<string, string>();
Parallel.ForEach(obj, (item)=> {
temp.Add(item.Value, item.Key);
});
這是可以實現此目的的簡化方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.