在LinqPad中,尝试在Newtonsoft JSON.Net .Dump()
上调用JObject
会产生异常:
这几乎适用于LinqPad中的所有其他内容。我想找出一种方法,将转储出Newtonsoft JObject
,就像其他对象一样,显示属性名称,值等。
我已经想出了如何使它转储JSON字符串,但是我想看到一个对象获得输出,而不仅仅是文本字符串。
最佳答案
对于希望从JSON字符串获得漂亮的LINQPad输出的人来说,反序列化为ExpandoObject
是一种有效的方法,并且递归地处理数据中可能存在的任何层次结构:JsonConvert.DeserializeObject<ExpandoObject>(myJSONString).Dump();
扩展这一范围以涵盖实际问题,在JObject上使用以下方法扩展方法就可以解决问题:
public static class ExtMethods
{
public static JObject DumpPretty(this JObject jo)
{
var jsonString = JsonConvert.SerializeObject(jo);
JsonConvert.DeserializeObject<ExpandoObject>(jsonString).Dump();
return jo; // return input in the spirit of LINQPad's Dump() method.
}
}
不是最有效的方法,但是要在LINQPad中快速浏览时可以解决问题。
关于c# - 如何在LinqPad中转储()Newtonsoft JObject?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14406769/