本文共 3693 字,大约阅读时间需要 12 分钟。
_SCSCHero Base 帮助类 JsonHelper 说明
JsonHelper 类概述
JsonHelper 是一个用于 JSON 数据处理的 static 函数集合,旨在为开发者提供简便的 JSON 数据操作功能。该类主要针对常见的数据转换场景,提供高效解决方案,包括对象到 JSON、DataTable 到 JSON、JSON 到对象等多种转换方式。本文将详细介绍该类的各项功能及其使用方法。
对象转 JSON
函数名称: public static string ObjectToJSON(object obj)
JavaScriptSerializer
库进行 serialization 过程,确保输出结果符合 JSON 规范。 代码示例:
var sampleObject = new { Name = "张三", Age = 30, Address = "北京" };var jsonStr = JsonHelper.ObjectToJSON(sampleObject); // 输出:'{"Name":"张三","Age":30,"Address":"北京"}'
DataTable 到键值对集合的转换
函数名称: public static List<Dictionary<string, object>> DataTableToList(DataTable dt)
代码示例:
DataTable dt = new DataTable();dt.Columns.Add("Column1", typeof(int));dt.Columns.Add("Column2", typeof(string));var row1 = new object[] { 1, "Data1" };var row2 = new object[] { 2, "Data2" };dt.Rows.Add(row1, row2);List> list = JsonHelper.DataTableToList(dt);// 输出:'Listinus 的行数据集合'
数据集到键值对数组字典的转换
函数名称: public static Dictionary<string, List<Dictionary<string, object>>> DataSetToDic(DataSet ds)
代码示例:
DataSet ds = new DataSet();DataTable table1 = CreateDataTable("Table1", true);DataTable table2 = CreateDataTable("Table2", false);ds.Tables.Add(table1);ds.Tables.Add(table2);var result = JsonHelper.DataSetToDic(ds);// 输出:'键值对数组字典'
DataTable 到 JSON 的转换
函数名称: public static string DataTableToJSON(DataTable dt)
DataTableToList
方法将数据表转换为键值对集合,然后提交 ObjectToJSON
方法进行 JSON 序列化。 代码示例:
DataTable dt = new DataTable();// 填充 DataTable 数据string jsonStr = JsonHelper.DataTableToJSON(dt);// 输出:'标准的 JSON 格式'
JSON 到对象的反序列化
函数名称: public static T JSONToObject<T>(string jsonText)
代码示例:
string sampleJson = "{\"Name\": \"张三\", \"Age\": 30}";var obj = JsonHelper.JSONToObject>(sampleJson);// 输出:'字典对象'
从 JSON 到 DataTable 的反序列化
函数名称: public static Dictionary<string, List<Dictionary<string, object>>> TablesDataFromJSON(string jsonText)
代码示例:
string jsonText = "{'Table1':[{'Column1':1,'Column2':'A'},{'Column1':2,'Column2':'B'}], 'Table2':[{'Column3':3,'Column4':'C'}]}";var dataDictionary = JsonHelper.TablesDataFromJSON(jsonText);// 输出:'数据表字典'
从 JSON 到 DataRow 的反序列化
函数名称: public static Dictionary<string, object> DataRowFromJSON(string jsonText)
代码示例:
string jsonText = '{"Key": "rowKey", "Value": "rowValue"}';var rowDict = JsonHelper DataRowFromJSON(jsonText);// 输出:'行字典'
字典到 JSON 的序列化
函数名称: public static string DictionaryToJson(Dictionary<string, string> myDic)
JsonConvert.SerializeObject
进行操作。 代码示例:
DictionarymyDict = new Dictionary { {"Key1", "Value1"}, {"Key2", "Value2"}};string jsonStr = JsonHelper.DictionaryToJson(myDict);// 输出:'JSON 字符串'
JSON 到字典的反序列化
函数名称: public static Dictionary<string, string> JsonToDictionary(string jsonStr)
代码示例:
string jsonText = '{"Key1": "Value1", "Key2": "Value2"}';Dictionarydic = JsonHelper.JsonToDictionary(jsonText);// 输出:'字典对象'
泛型 JSON 到字典反序列化
函数名称: public static Dictionary<TKey, TValue> DeserializeStringToDictionary<TKey, TValue>(string jsonStr)
代码示例:
DictionaryjsonDict = JsonHelper.DeserializeStringToDictionary ("{'ID':1,'Name':'张三'}");// 输出:'特定类型的字典对象'
总结
JsonHelper 类提供了丰富的功能,涵盖了从简单到复杂的 JSON 数据操作需求。无论是将对象、DataTable、DataSet 进行 JSON 序列化,还是将 JSON 转换为对象、DataTable,甚至反序列化 JSON 到字典或特定类型,这些函数都能高效准确地完成任务。
转载地址:http://ipwmz.baihongyu.com/