分享一个Json的常用类,通过Json传输,个人认为Json可以跨平台,传输效率高。
需要借助一个工具Newtonsoft.Json.dll。Function:
using Newtonsoft.Json;
- —————DataTable to Json String————————-
public static string DataTableToJson(DataTable dt)
{
List<Dictionary<string, object>> lst = new List<Dictionary<string, object>>();
foreach (DataRow drRow in dt.Rows)
{
Dictionary<string, object> dic = new Dictionary<string, object>();
foreach (DataColumn column in dt.Columns)
{
dic.Add(column.ColumnName, drRow[column.ColumnName]);
}
lst.Add(dic);
}
JsonSerializerSettings setting = new JsonSerializerSettings();
setting.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
string strJson = JsonConvert.SerializeObject(lst, Formatting.None, setting);
return strJson;
} - —————List to Json String————————-
public static string ListToJson(List list)
{
JsonSerializerSettings setting = new JsonSerializerSettings();
setting.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
string strJson = JsonConvert.SerializeObject(list, Formatting.None, setting);
return strJson;
} - —————Dictionary to Json String————————-
public static string DictToJson(Dictionary<string, object> dict)
{
JsonSerializerSettings setting = new JsonSerializerSettings();
setting.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
string strJson = JsonConvert.SerializeObject(dict, Formatting.None, setting);
return strJson;
}