Si j'ai cette méthode:
public void doSomething (Dictionary<String, Object> data)
{
JObject jsonObject = new JObject(data);
...
}
J'ai un System.ArgumentException
sur la ligne où je crée le JObject. J'utilise le wrapper Json.net de Newton-King.
L'erreur que j'obtiens est:
Une exception de première chance de type 'System.ArgumentException' s'est produite dans Newtonsoft.Json.DLL Une exception de type 'System.ArgumentException' s'est produite dans Newtonsoft.Json.DLL mais n'a pas été gérée dans le code utilisateur
Qu'est-ce que je fais mal ici?
Le constructeur JObject(object)
s'attend à ce que l'objet soit un JProperty
, un IEnumerable
contenant JProperties
, ou un autre JObject
. Malheureusement, la documentation ne le précise pas.
Pour créer un JObject
à partir d'un dictionnaire ou d'un objet simple, utilisez JObject.FromObject
à la place:
JObject jsonObject = JObject.FromObject(data);
Pour créer un JObject
à partir d'une chaîne JSON, utilisez JObject.Parse
, par exemple:
JObject jsonObject = JObject.Parse(@"{ ""foo"": ""bar"", ""baz"": ""quux"" }");