2017-05-08 2 views
0

Ich habe ein Objekt, und ich bin Erzeugen eines JSON-String des Objekts mit dem folgenden Code:C# - Mehrwert für JSON-String

string json = JsonConvert.SerializeObject(myObject); 

JsonConvert ist von Newtonsoft.Json. Ich möchte dieser JSON-Zeichenfolge einen neuen Wert hinzufügen, aber nur die Zeichenfolge und nicht das Objekt. Wie kann ich das machen? (Ich bin neu in C#)

+0

In dem in der Zeichenfolge; Anfang/Ende/Irgendwo dazwischen? Haben Sie versucht, etwas wie 'string json = JsonConvert.SerializeObject (myObject) +" Meine eigene Endung ";' –

+0

Nicht so. Wenn die Zeichenfolge beispielsweise {"test": 1} ist, möchte ich etwas wie "newValue": 2 hinzufügen, so dass die letzte Zeichenfolge {"test": 1, "newValue": 2} – Nono

+0

Wenn Sie nicht suchen bei umfangreichen Operationen können Sie durch einfache String-Manipulation gehen wie var serializedObj = JsonConvert.SerializeObject (neue {A = 1}); var newPropertyValue = 10; var newProperty = $ ", 'B': {newPropertyValue}"; serializedObj = serializedObj.Insert (serializedObj.Length - 1, newProperty); – Gururaj

Antwort

2

Serialisierung ist nur eines der Dinge, die die Newtonsoft-Bibliothek tut. Sie können auch den JsonReader und JsonWriter sowie mehrere andere Bibliotheken verwenden. Der, nach dem Sie wahrscheinlich suchen, ist das JObject. Sie können JSON analysieren und es wie das Beispiel ändern sich hier: http://www.newtonsoft.com/json/help/html/ModifyJson.htm

Von Link:

JObject rss = JObject.Parse(json); 
JObject channel = (JObject)rss["channel"]; 
channel.Property("description").AddAfterSelf(new JProperty("new", "New value")); 
Verwandte Themen