创建JObject时的参数异常

时间:2013-08-28 19:01:02

标签: c# json json.net

如果我有这个方法:

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

我在创建JObject的行上得到System.ArgumentException。我正在使用Newton-King的Json.net包装器。

我得到的错误是:

  

发生了'System.ArgumentException'类型的第一次机会异常   in Newtonsoft.Json.DLL类型'System.ArgumentException'的异常   发生在Newtonsoft.Json.DLL但未在用户代码中处理

我在这里做错了什么?

1 个答案:

答案 0 :(得分:91)

JObject(object)构造函数期望该对象是JPropertyIEnumerable包含JProperties或其他JObject。不幸的是,文档没有说明这一点。

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

JObject jsonObject = JObject.FromObject(data);

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

JObject jsonObject = JObject.Parse(@"{ ""foo"": ""bar"", ""baz"": ""quux"" }");