簡體   English   中英

如何使用DataContractJsonSerializer解析具有可變鍵名的json對象

[英]How to parse json object with variable key names using DataContractJsonSerializer

我打算使用DataContractJsonSerializer將我收到的json轉換為一個對象,但是根中的鍵可以具有任何名稱,類似於以下內容:

{
"Jhon": {...},
"Lucy": {...},
"Robert": {...}
...
}

當鍵固定后,我可以使用[DataMember(Name = "keyname")]但是在這種情況下,我不知道該怎么辦。 有任何想法嗎?

嘗試這個:

var serializer = new DataContractJsonSerializer(typeof(RootObject), new DataContractJsonSerializerSettings()
{
    UseSimpleDictionaryFormat = true
});

var json = @"{
""Jhon"": { ""Name"": ""John""},
""Lucy"": {},
""Robert"": {}
}";
var bytes = Encoding.UTF8.GetBytes(json);
using (var stream = new MemoryStream(bytes))
{
    var results = serializer.ReadObject(stream);
}

// Define other methods and classes here
public class RootObject : Dictionary<string, User>
{
}
public class User
{
    public string Name { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM