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; }