[原创]C# JSON节点的替换整体套路

private static void replaceSelfJSONFromChild()
        {
            string groupJSON = "{\"zone\":\"海淀\",\"zone_en\":\"haidian\",'location':{x:1,y:2}}";
            Newtonsoft.Json.Linq.JObject groupJSONObject = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(groupJSON);
            JObject locationObject=(JObject)groupJSONObject.GetValue("location");

            string replaceJSON = "{x:5,y:6}";
            Newtonsoft.Json.Linq.JObject willReplaceJSON = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(replaceJSON);
            locationObject.RemoveAll();
            locationObject.Merge(willReplaceJSON);
            Console.WriteLine("JSON:" + groupJSONObject);
        }



        private static void replaceSelfJSON()
        {
            string jsonText = "{\"zone\":\"海淀\",\"zone_en\":\"haidian\"}";
            Newtonsoft.Json.Linq.JObject jo = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(jsonText);
            string jsonText111 = "{\"zone\":\"海淀333\",\"zone_en\":\"haidian\"}";
            Newtonsoft.Json.Linq.JObject jo1 = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(jsonText111);
            jo.RemoveAll();
            jo.Merge(jo1);
            Console.WriteLine("JSON:" + jo);
        }

        private static void removeSelfChildJSON()
        {
            string groupJSON = "{\"zone\":\"海淀\",\"zone_en\":\"haidian\",'location':{x:1,y:2}}";
            Newtonsoft.Json.Linq.JObject groupJSONObject = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(groupJSON);
            JObject locationObject = (JObject)groupJSONObject.GetValue("location");

            //locationObject.RemoveAll();

            ((JObject)locationObject.Parent.Parent).Remove("location");
            //locationObject.Merge(willReplaceJSON);
            Console.WriteLine("JSON:" + groupJSONObject);
        }
        private static void removeSelfChildArray()
        {
            string groupJSON = "[" +
                "{ 'name':'luo','y':2,'location':{z:1,n:5} } " +
                         ",{ 'name':'zheng','y':2,'location':{z:1,n:5} } " +
                                    ",{ 'name':'ye','y':2,'location':{z:1,n:5} } " +
                "]";
            Newtonsoft.Json.Linq.JArray jarray = (Newtonsoft.Json.Linq.JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(groupJSON);

            JObject jobject = (JObject)jarray[0];
            //jobject.Remove();
            //((JArray)jobject.Parent).Remove(jobject);
            ((JArray)jobject.Parent).RemoveAt(0);
            //locationObject.RemoveAll();
            Console.WriteLine("JSON:" + jobject + ",removeAfter" + jarray);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值