是否可以將數(shù)組添加到 json 有效負(fù)載?例如,假設(shè)這是我的有效負(fù)載: 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'}] } }";我想要的結(jié)果是這樣的: 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'}] } }";對于每個(gè)channel.nested==upgrademe然后please我想添加一個(gè)空數(shù)組,如[].前:'nested':[{'upgrademe':'please'}, {'upgrademe':'no'}]后:'nested':[{'upgrademe':'please', 'emptyArray':[]}, {'upgrademe':'no'}]我目前的實(shí)施: 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; }我在這條線上遇到了一個(gè)例外:使用示例: var result = jobject.AddArray("channel.nested", "upgrademe", "please");上面說了以下內(nèi)容:找到對象“channel.nested”,當(dāng) upgrademe==please 時(shí),添加一個(gè)同級節(jié)點(diǎn)作為空數(shù)組我們?nèi)绾斡袟l件地將數(shù)組對象添加到 json 負(fù)載中?
1 回答

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