[原创]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);
        }

你可能感兴趣的:([原创]C# JSON节点的替换整体套路)