是否可以將數組添加到 json 有效負載?例如,假設這是我的有效負載: string json = @"{ 'channel': { 'title': 'Star Wars', 'link': 'http://www.starwars.com', 'description': 'Star Wars blog.', 'obsolete': [{'something':'awesome'},{'a':'b'}], 'item': [], 'nested':[{'upgrademe':'please'}, {'upgrademe':'no'}] } }";我想要的結果是這樣的: string json = @"{ 'channel': { 'title': 'Star Wars', 'link': 'http://www.starwars.com', 'description': 'Star Wars blog.', 'obsolete': [{'something':'awesome'},{'a':'b'}], 'item': [], 'nested':[{'upgrademe':'please', 'emptyArray':[]}, {'upgrademe':'no'}] } }";對于每個channel.nested==upgrademe然后please我想添加一個空數組,如[].前:'nested':[{'upgrademe':'please'}, {'upgrademe':'no'}]后:'nested':[{'upgrademe':'please', 'emptyArray':[]}, {'upgrademe':'no'}]我目前的實施: public static JObject AddArray(this JObject jObject, string path, string key, string value) { var obs = jObject.SelectToken(path); if (obs == null) { return jObject; } foreach (var jsonObject in obs) { if (jsonObject.SelectToken(key).ToString().ToLower() != value.ToLower()) { continue; } jObject.SelectToken(path).Parent.AddAfterSelf(new JValue(new JProperty("emptyArray", new JArray()))); } return jObject; }我在這條線上遇到了一個例外:使用示例: var result = jobject.AddArray("channel.nested", "upgrademe", "please");上面說了以下內容:找到對象“channel.nested”,當 upgrademe==please 時,添加一個同級節點作為空數組我們如何有條件地將數組對象添加到 json 負載中?
1 回答

慕容3067478
TA貢獻1773條經驗 獲得超3個贊
由于您要將新屬性添加到對象中。你不需要使用JValue
直接使用JProperty
即可:
AddAfterSelf(new JProperty("emptyArray", new JArray()))
- 1 回答
- 0 關注
- 104 瀏覽
添加回答
舉報
0/150
提交
取消