时间:2022-10-09 15:33:21 | 栏目:.NET代码 | 点击:次
JSON是JavaScript Object Notation的简称,中文含义为“JavaScript 对象表示法”,它是一种数据交换的文本格式,而不是一种编程语言。
JSON 是一种轻量级的数据交换格式,它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON 主要具有以下特性,这些特性使它成为理想的数据交换语言:
类似于 XML 的特性:
相比 XML 的不同之处:
public static string DataTableToJson1(string jsonName, DataTable dt) { StringBuilder Json = new StringBuilder(); Json.Append("{\"" + jsonName + "\":["); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { Json.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) { Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":\"" + dt.Rows[i][j].ToString() + "\""); if (j < dt.Columns.Count - 1) { Json.Append(","); } } Json.Append("}"); if (i < dt.Rows.Count - 1) { Json.Append(","); } } } Json.Append("]}"); return Json.ToString(); }
public static string Dataset2Json(DataSet ds) { StringBuilder json = new StringBuilder(); foreach (DataTable dt in ds.Tables) { json.Append("{\""); json.Append(dt.TableName); json.Append("\":"); json.Append(DataTable2Json(dt)); json.Append("}"); } return json.ToString(); }
public static string DataTableToJson2(DataTable dt) { StringBuilder Json = new StringBuilder(); Json.Append("{\"" + dt.TableName + "\":["); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { Json.Append("\r\n" + "{\"device\":" + "\r\n" + "{"); for (int j = 0; j < dt.Columns.Count; j++) { string columName = dt.Columns[j].ColumnName.ToString(); string columValue = dt.Rows[i][j].ToString(); if (j == 9)//"radios":{"wifiMAC":~~}, Json.Append("\"radios\":{\"" + columName + "\":\"" + columValue + "\"}"); else if (j == 10 || j == 11)//"partDetails":{"mainLogicBoardSerialNumber":~~, "batterySerialNumber":~~ } { if (j == 10) Json.Append("\"partDetails\":{\"" + columName + "\":\"" + columValue + "\""); else Json.Append("\"" + columName + "\":\"" + columValue + "\"}}"); } else if (j == 12) Json.Append("\"order\":{\"" + columName + "\":\"" + columValue + "\""); else if (j == 16) Json.Append("\"" + columName + "\":\"" + columValue + "\"}"); else Json.Append("\"" + columName + "\":\"" + columValue + "\""); if (j < dt.Columns.Count - 1 ) Json.Append(","); } Json.Append("}"); if (i < dt.Rows.Count - 1) { Json.Append(","); } } } Json.Append("\r\n" + "]}"); return Json.ToString(); }