c#使用guids将文本反序列化为json

本文关键字:反序列化 json 文本 使用 guids | 更新日期: 2023-09-27 18:24:10

我从服务契约(solr)中获得以下json

{"highlighting":{
   "394c65f1-dfb1-4b76-9b6c-2f14c9682cc9":{
      "PackageName":["- <em>Testing<em> channel twenty."]},
   "baf8434a-99a4-4046-8a4d-2f7ec09eafc8":{
      "PackageName":["- <em>Testing<em> channel twenty."]},
   "0a699062-cd09-4b2e-a817-330193a352c1":{
     "PackageName":["- <em>Testing<em> channel twenty."]},
   "0b9ec891-5ef8-4085-9de2-38bfa9ea327e":{
     "PackageName":["- <em>Testing<em> channel twenty."]}}
}

使用时http://json2csharp.com/我无法反序列化它,因为guid在属性名称字段中
有没有一种方法可以将其反序列化为c#对象(我可以将name称为guid另一个名称,即Id)
谢谢

c#使用guids将文本反序列化为json

您应该将此JSON字符串反序列化为Dictionary<Guid, Package>:

示例:

string json = @"{
""326EAFDC-3553-4AA6-9D3B-79CC666A264C"": {...},
""70C57804-A9AF-41FC-9867-42C621E5A465"": {...}    
}";
var obj = JsonConvert.DeserializeObject<Dictionary<Guid, Package>>(json);