[英]How to parse json object with variable key names using DataContractJsonSerializer
I intend to use DataContractJsonSerializer to convert the json i'm receiving to an object, but the keys in the root can have any name, something similar to this: 我打算使用DataContractJsonSerializer将我收到的json转换为一个对象,但是根中的键可以具有任何名称,类似于以下内容:
{
"Jhon": {...},
"Lucy": {...},
"Robert": {...}
...
}
When the keys are fixed i can use [DataMember(Name = "keyname")]
but in this case I don't know what to do. 当键固定后,我可以使用[DataMember(Name = "keyname")]
但是在这种情况下,我不知道该怎么办。 Any ideas? 有任何想法吗?
Try this: 尝试这个:
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.