![](/img/trans.png)
[英]How to deserialize JSON Object (JSON string) to a C# object list using JSON.NET?
[英]Deserialize JSON string to Object C# using Json.NET
我想将我不知道其Type的JSON字符串反序列化为Object
类型的Object
并能够使用反射访问其属性。 当我用这个
object myObject = JsonConvert.DeserializeObject("{\'Id\':\'1\'}");
myObject
的类型是JObject
类型,我无法使用反射访问其属性。
有没有办法使用Json.net或任何其他JSON反序列化器?
我认为您可以将对象反序列化为Dictionary<string,string>
或expandoobject
(也可转换为IDictionary<string,object>
)然后您不需要使用反射来获取属性,您可以获取它们通过字典。
这不允许您使用反射本身,但ExpandoObject允许您迭代属性:
string json = "{\'Id\':\'1\'}";
var converter = new ExpandoObjectConverter();
dynamic obj = JsonConvert.DeserializeObject<ExpandoObject>(json, converter);
IDictionary<string, object> dict = (IDictionary<string, object>)obj;
foreach (string key in dict.Keys)
{
Console.WriteLine(key);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.