50

如果我有这个方法:

public void doSomething (Dictionary<String, Object> data)
{
    JObject jsonObject = new JObject(data);
    ...
}

System.ArgumentException在创建 JObject 的地方得到了一个。我正在使用 Newton-King 的 Json.net 包装器。

我得到的错误是:

Newtonsoft.Json.DLL 中出现“System.ArgumentException”类型的第一次机会异常 Newtonsoft.Json.DLL 中出现“System.ArgumentException”类型的异常,但未在用户代码中处理

我在这里做错了什么?

4

1 回答 1

110

构造JObject(object)函数期望对象是一个JProperty、一个IEnumerable包含JProperties或另一个JObject。不幸的是,文档并没有说明这一点。

JObject要从字典或普通对象创建 a ,请JObject.FromObject改用:

JObject jsonObject = JObject.FromObject(data);

JObject要从JSON 字符串创建一个,请使用JObject.Parse,例如:

JObject jsonObject = JObject.Parse(@"{ ""foo"": ""bar"", ""baz"": ""quux"" }");
于 2013-08-28T19:52:38.867 回答