J'ai cette chaîne stockée dans ma base de données:
str = "{ "context_name": { "lower_bound": "value", "upper_bound": "value", "values": [ "value1", "valueN" ] } }"
Cette chaîne est déjà au format JSON mais je souhaite la convertir en objet JObject ou JSON.
JObject json = new JObject();
J'ai essayé le casting json = (JObject)str;
mais cela n'a pas fonctionné, alors comment puis-je le faire?
JObject
définit la méthode Parse
pour ceci:
JObject json = JObject.Parse(str);
Vous voudrez peut-être faire référence à Json.NET documentation .
si vous ne voulez pas ou n'avez pas besoin d'un objet typé, essayez:
using Newtonsoft.Json;
// ...
dynamic json = JsonConvert.DeserializeObject(str);
ou essayez un objet typé essayez:
Foo json = JsonConvert.DeserializeObject<Foo>(str)
Cela marche
string str = "{ 'context_name': { 'lower_bound': 'value', 'pper_bound': 'value', 'values': [ 'value1', 'valueN' ] } }";
JavaScriptSerializer j = new JavaScriptSerializer();
object a = j.Deserialize(str, typeof(object));
il existe un moyen intéressant d'atteindre un autre objectif qui est d'avoir une base de classe fortement typée sur json avec des outils très puissants que j'ai utilisés il y a quelques jours pour la première fois pour traduire le résultat de tradedoubler json en classes
C’est un outil simple: copiez votre code source JSON et en quelques secondes vous aurez une classe fortement typée orientée json . De cette manière, vous utiliserez ces classes plus puissantes et plus simples à utiliser.
J'espère que cela peut vous aider
Vous pouvez essayer comme suit:
string output = JsonConvert.SerializeObject(jsonStr);
Cela fonctionne pour moi en utilisant JsonConvert
var result = JsonConvert.DeserializeObject<Class>(responseString);
Cela ne fonctionne pas dans le cas du JObject, cela fonctionne pour les données au format JSON simple. J'ai essayé mes données des données au format JSON ci-dessous pour désérialiser dans le type, mais je n'ai pas obtenu la réponse.
Pour ce Json
{
"Customer": {
"id": "Shell",
"Installations": [
{
"id": "Shell.Bangalore",
"Stations": [
{
"id": "Shell.Bangalore.BTM",
"Pumps": [
{
"id": "Shell.Bangalore.BTM.pump1"
},
{
"id": "Shell.Bangalore.BTM.pump2"
},
{
"id": "Shell.Bangalore.BTM.pump3"
}
]
},
{
"id": "Shell.Bangalore.Madiwala",
"Pumps": [
{
"id": "Shell.Bangalore.Madiwala.pump4"
},
{
"id": "Shell.Bangalore.Madiwala.pump5"
}
]
}
]
}
]
}
}