wake-up-neo.com

Generieren Sie ein JSON-Objekt mit NewtonSoft in einer einzigen Zeile

Ich verwende die JSON-Bibliothek NewtonSoft , um einen JSON-String zu generieren:

JObject out = JObject.FromObject(new
            {
                typ = "photos"
            });

            return out.ToString();

Ausgabe:

{
  "typ": "photos"
}

Meine Frage: Ist es möglich, die Ausgabe in einer einzelnen Zeile zu erhalten, wie:

{"typ": "photos"}
48
Calimero

Sie können die Überladung von JObject.ToString() verwenden, die Formatting als Parameter verwendet:

JObject obj = JObject.FromObject(new
{
    typ = "photos"
});

return obj.ToString(Formatting.None);
70
tpeczek
var json = JsonConvert.SerializeObject(new { typ = "photos" }, Formatting.None);
48
L.B

Hier ist ein One-Liner, um JSON zu minimieren, für den Sie nur eine Zeichenfolge haben:

var myJson = "{\"type\"    :\"photos\"               }";
JObject.Parse(myJson).ToString(Newtonsoft.Json.Formatting.None)

Ausgabe:

{"type":"photos"}
2
DLeh

Ich bin mir nicht sicher, ob Sie das meinen, aber was ich tue ist folgendes:

string postData = "{\"typ\":\"photos\"}";

BEARBEITEN: Nach der Suche habe ich this in Json.Net gefunden:

string json = @"{
  CPU: 'Intel',
  Drives: [
    'DVD read/writer',
    '500 gigabyte hard drive'
  ]
}";

JObject o = JObject.Parse(json);

und vielleicht könnten Sie die Informationen auf this website verwenden.

Ich bin mir jedoch nicht sicher, ob die Ausgabe in einer Zeile erfolgen wird ... Viel Glück!

1
Quispie

Wenn jemand hier keine externe Bibliothek in MVC verwenden möchte, kann er den eingebauten System.Web.Script.Serialization.JavaScriptSerializer verwenden. 

Ein Liner dafür wird sein:

var JsonString = new JavaScriptSerializer().Serialize(new { typ = "photos" });
0
Anup Sharma