Excepción de argumento al crear JObject


Si tengo este método:

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

Obtengo un System.ArgumentException en la línea donde creo el JObject. Estoy usando el de Newton-King. Json.net envoltorio.

El error que obtengo es:

Una excepción de primera oportunidad del sistema tipo'.ArgumentException ' ocurrió en Newtonsoft.Json.DLL Una excepción del tipo ' Sistema.ArgumentException" ocurrió en Newtonsoft.Json.DLL pero no se manejó en el código de usuario

¿Qué estoy haciendo mal aquí?

Author: letiagoalves, 2013-08-28

1 answers

El constructor JObject(object) espera que el objeto sea un JProperty, un IEnumerable que contenga JProperties, u otro JObject. Desafortunadamente, la documentación no lo deja claro.

Para crear un JObject a partir de un diccionario u objeto plano, utilice JObject.FromObject en su lugar:

JObject jsonObject = JObject.FromObject(data);

Para crear un JObject a partir de una cadena JSON, utilice JObject.Parse, por ejemplo:

JObject jsonObject = JObject.Parse(@"{ ""foo"": ""bar"", ""baz"": ""quux"" }");
 74
Author: Brian Rogers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-21 17:37:36