2017-05-08 39 views
0

我有一個對象和我生成用下面的代碼該對象的JSON字符串:C# - 添加值以JSON字符串

string json = JsonConvert.SerializeObject(myObject); 

JsonConvert是從Newtonsoft.Json。我想爲該json字符串添加一個新值,但僅限於該字符串而不是該對象。我怎樣才能做到這一點? (我是C#的新手)

+0

添加到字符串中;開始/結束/之間的某個地方?你嘗試過類似'string json = JsonConvert.SerializeObject(myObject)+「我自己的結局」;' –

+0

不是這樣的。如果字符串是例如{「test」:1}我想添加像「newValue」:2這樣的最終字符串將是{「test」:1,「newValue」:2} – Nono

+0

如果你沒有看在進行廣泛的操作時,您可以通過簡單的字符串操作,如 var serializedObj = JsonConvert.SerializeObject(new {A = 1}); var newPropertyValue = 10; var newProperty = $「,'B':{newPropertyValue}」; serializedObj = serializedObj.Insert(serializedObj.Length - 1,newProperty); – Gururaj

回答

2

序列化只是Newtonsoft庫的一個功能。您也可以使用JsonReader和JsonWriter以及其他幾個庫。你可能正在尋找的是JObject。您可以解析JSON和修改它喜歡這裏的例子: http://www.newtonsoft.com/json/help/html/ModifyJson.htm

從鏈接:

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