string json = "[,\\\"component\\\":},,\\\"component\\\":},,\\\"component\\\":,,]}}]";
首先,要把上面字串json格式化,以便看出json的結構:
[
, "component":
}, ,
"component":
}, ,
"component": , , ]
}}
]
以上的json結構重複的是以下部分
,
"component":
}
json字串裡面,把花括號是乙個物件(類),把中括號[ ]看做乙個陣列
所以,根據這樣的規律我們可以把這json字串轉化為以下實體類:
/// /// 元件組
///
public class components
/// /// 元件型別
///
///
public string type
/// ///
///
///
public bool selected
/// /// 控制項
///
///
public control control
/// /// 元件
///
///
public component component
}/// /// 控制項
///
public class control
/// /// 控制項
///
///
public string icon
}/// /// 元件
///
public class component
/// /// 提示性文字
///
///
public string placeholder
/// /// 是否必須輸入
///
///
public bool require
/// /// 選項
///
///
listoptions
}/// /// 選項
///
public class option
}
反序列化:
/// /// 解析json字串生成物件實體
///
/// 物件型別
/// json字串
/// 物件實體
public static t getobject(string json) where t : class
var serializer = new jsonserializer();
var sr = new stringreader(json);
var o = serializer.deserialize(new jsontextreader(sr), typeof(t));
var t = o as t;
return t;
}static void main(string args)
,\\\"component\\\":},,\\\"component\\\":},,\\\"component\\\":,,]}}]";
components components = new components[0];
components = getobject(json.replace("\\",""));
}
json轉換實體類
import net.sf.json.jsonarray import net.sf.json.jsonobject 實體類轉換成json jsonobject jsonstu jsonobject.fromobject 實體類 json轉換成實體類person person person pers...
JSON物件轉換
字串轉json物件 parsejson jsonstr 可以將json字串轉換成json物件 json parse jsonstr 可以將json字串轉換成json物件 eval jsonstr 可以將json字串轉換成json物件,注意需要在json字元外包裹一對小括號json物件轉字串json ...
Json資料轉換為泛型集合 或實體
region json資料轉換為泛型集合 或實體 單條json資料轉換為實體 字元竄 格式為 private static t converttoentity string str string arr m.split for int i 0 i arr.count i if properties ...