如果我有这个方法:
public void doSomething (Dictionary<String, Object> data)
{
JObject jsonObject = new JObject(data);
...
}
我在创建 JObject 的那一行得到一个 System.ArgumentException
。我正在使用 Newton-King 的 Json.net 包装器。
我得到的错误是:
A first chance exception of type 'System.ArgumentException' occurred in Newtonsoft.Json.DLL An exception of type 'System.ArgumentException' occurred in Newtonsoft.Json.DLL but was not handled in user code
我在这里做错了什么?
最佳答案
JObject(object)
构造函数期望对象是一个 JProperty
,一个包含 JProperties
的 IEnumerable
>,或另一个 JObject
。不幸的是,文档没有说明这一点。
要从字典或普通对象创建 JObject
,请使用 JObject.FromObject
而是:
JObject jsonObject = JObject.FromObject(data);
要从 JSON 字符串创建 JObject
,请使用 JObject.Parse
,例如:
JObject jsonObject = JObject.Parse(@"{ ""foo"": ""bar"", ""baz"": ""quux"" }");
https://stackoverflow.com/questions/18496129/