2017-05-08 84 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"));