C# Json是一種非常常用的編碼方式,用于在網(wǎng)絡(luò)傳輸過程中傳遞數(shù)據(jù)。在實(shí)際應(yīng)用過程中,很多時(shí)候需要對(duì)Json數(shù)據(jù)進(jìn)行過濾操作,只保留需要的內(nèi)容。下面我們來看看如何利用C#對(duì)Json進(jìn)行過濾。
//過濾前的Json數(shù)據(jù) string jsonStr = @" { 'name':'Tom', 'age':20, 'address':{ 'province':'Guangdong', 'city':'Shenzhen', 'street':'Longhua' }, 'contact':{ 'phone':['123456','888888'], 'wechat':'wx123', 'email':'tom@test.com' } }"; //將Json數(shù)據(jù)轉(zhuǎn)為JObject對(duì)象 JObject jo = JObject.Parse(jsonStr); //只保留年齡和地址信息 JObject joFilter = new JObject(); joFilter["age"] = jo["age"]; joFilter["address"] = jo["address"]; //將過濾后的JObject對(duì)象轉(zhuǎn)為Json數(shù)據(jù) string jsonStrFilter = JsonConvert.SerializeObject(joFilter, Formatting.Indented); //輸出過濾后的Json數(shù)據(jù) Console.WriteLine(jsonStrFilter);
在這段代碼中,我們首先將原始的Json數(shù)據(jù)轉(zhuǎn)為JObject對(duì)象,然后利用JObject對(duì)象進(jìn)行過濾操作。這里我們只保留了年齡和地址信息,將過濾后的結(jié)果保存在了一個(gè)新的JObject對(duì)象中。最后,將過濾后的JObject對(duì)象轉(zhuǎn)為Json數(shù)據(jù)并輸出。
可以看到,利用C#對(duì)Json進(jìn)行過濾操作是非常方便的。只需要將Json數(shù)據(jù)轉(zhuǎn)為JObject對(duì)象,然后利用JObject對(duì)象進(jìn)行過濾即可。此外,利用C#還可以對(duì)Json進(jìn)行更加復(fù)雜的操作,例如Json數(shù)據(jù)的合并、分組等。