我有一個字典陣列,在序列化為 JSON 之后,我得到了這個字串:
"[{"key1":"value1","key2":"value2"}]"
我想用這個 JSON 制作一個值串列,我該如何實作呢?
uj5u.com熱心網友回復:
你的 JSON 有點奇怪,因為它是一個包含 1 個元素的串列,它是一個物件/字典……我認為你在序列化方面犯了一個錯誤。
但是給你一個答案:這與這里所問的相反
以下是 System.Text.Json 和 Json.net 示例:
var d = System.Text.Json.JsonSerializer.Deserialize<List<Dictionary<string, string>>>(json);
var d2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string,string>>>(json);
然后,您可以將 List 索引器與Dictionary.Valueslike一起使用
var values = d[0].Values
請注意,這values將是一個Dictionary<string,string>.ValueCollection,而不是一個串列。但它仍然有一個列舉器。編輯:所以你可以打電話給 Linq 的ToList().
uj5u.com熱心網友回復:
將其序列化為字典串列后,您可以將其轉換為串列:
var d = System.Text.Json.JsonSerializer.Deserialize<List<Dictionary<string, string>>>(json);
// or Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(json);
List<C> l = d
.SelectMany(x => x.Select(kvp => new C(Key: kvp.Key, Value: kvp.Value)))
.ToList();
C可能看起來像這樣:
public record C(string Key, string Value);
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/442183.html
上一篇:我的API未授權它自己生成的令牌
下一篇:訪問程式集外部的內部建構式
