J'utilise la bibliothèque JSON NewtonSoft pour générer une chaîne JSON:
JObject out = JObject.FromObject(new
{
typ = "photos"
});
return out.ToString();
Sortie:
{
"typ": "photos"
}
Ma question: Est-il possible d’obtenir la sortie sur une seule ligne comme:
{"typ": "photos"}
Vous pouvez utiliser la surcharge de JObject.ToString()
qui prend Formatting
en tant que paramètre:
JObject obj = JObject.FromObject(new
{
typ = "photos"
});
return obj.ToString(Formatting.None);
var json = JsonConvert.SerializeObject(new { typ = "photos" }, Formatting.None);
Voici un one-liner pour minify JSON pour lequel vous ne disposez que d'une chaîne:
var myJson = "{\"type\" :\"photos\" }";
JObject.Parse(myJson).ToString(Newtonsoft.Json.Formatting.None)
Sortie:
{"type":"photos"}
Je ne sais pas si c'est ce que vous voulez dire, mais ce que je fais, c'est ceci:
string postData = "{\"typ\":\"photos\"}";
EDIT: Après avoir cherché, j'ai trouvé this sur Json.Net:
string json = @"{
CPU: 'Intel',
Drives: [
'DVD read/writer',
'500 gigabyte hard drive'
]
}";
JObject o = JObject.Parse(json);
et peut-être que vous pourriez utiliser les informations sur this website.
Mais je ne suis pas sûr que la sortie soit sur une seule ligne ... Bonne chance!
Si quelqu'un ici ne veut pas utiliser de bibliothèque externe dans MVC, il peut utiliser le System.Web.Script.Serialization.JavaScriptSerializer
intégré
Une ligne pour cela sera:
var JsonString = new JavaScriptSerializer().Serialize(new { typ = "photos" });