C# Net 通用json转Object(对象)

C# Net  通用json转Object(对象)

C# Net  通用 json 转 Object  对象

C# Net json对象中有字符串转为对象

C# Net json 对象 中有字符串 转为 对象

例如输入:{"1":1,"a":"aa","aa":"{\"2\":2,\"bb\":\"{\\\"3\\\":3,\\\"cc\\\":\\\"ccc\\\"}\"}"}
例如输出:{"1":1,"a":"aa","aa":{"2":2,"bb":{"3":3,"cc":"ccc"}}}

引用包【Json.NET】 加入 名称空间

using System;
using Newtonsoft.Json.Linq;

主要核心方法代码 :

        /// <summary>
        /// 提取json字符串对象
        /// 例如输入:{"1":1,"a":"aa","aa":"{\"2\":2,\"bb\":\"{\\\"3\\\":3,\\\"cc\\\":\\\"ccc\\\"}\"}"}
        /// 例如输出:{"1":1,"a":"aa","aa":{"2":2,"bb":{"3":3,"cc":"ccc"}}}
        /// </summary>
        public static JObject ExtractObj(JObject job)
        {
            foreach (var item in job)
            {
                try
                {
                    //得到键当前值
                    string itemStr = item.Value.ToString();
                    //尝试转化为对象(可能失败)
                    JObject itemJObj = JObject.Parse(itemStr);
                    //递归调用
                    JObject robj = ExtractObj(itemJObj);
                    //为当前键更新为对象值
                    job[item.Key] = robj;
                }
                catch
                {
                }
            }
            return job;
        }

  

猜你喜欢

转载自www.cnblogs.com/ping9719/p/11982724.html