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;
主要核心方法代码 :
///
/// 提取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"}}}
///
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;
}