| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- using Infragistics.Win.UltraWinGrid;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- namespace Core.StlMes.Client.Mcp.VRP.Vrp
- {
- public class JsonHelper
- {
- public static string ToJson(DataTable dt)
- {
- StringBuilder jsonBuilder = new StringBuilder();
- jsonBuilder.Append("[");
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- jsonBuilder.Append("{");
- for (int j = 0; j < dt.Columns.Count; j++)
- {
- jsonBuilder.Append("'");
- jsonBuilder.Append(GetLanguageFormat(dt.Columns[j].ColumnName, true));
- jsonBuilder.Append("':'");
- jsonBuilder.Append(escape(dt.Rows[i][j].ToString()));
- jsonBuilder.Append("',");
- }
- jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
- jsonBuilder.Append("},");
- }
- jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
- jsonBuilder.Append("]");
- return jsonBuilder.ToString();
- }
- public static string ToJson(UltraGrid dt)
- {
- StringBuilder jsonBuilder = new StringBuilder();
- jsonBuilder.Append("[");
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- jsonBuilder.Append("{");
- for (int j = 0; j < dt.Rows.Count; j++)
- {
- jsonBuilder.Append("'");
- jsonBuilder.Append(GetLanguageFormat(dt.Rows[j].ToString(), true));
- jsonBuilder.Append("':'");
- jsonBuilder.Append(escape(dt.Rows[i].ToString()));
- jsonBuilder.Append("',");
- }
- jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
- jsonBuilder.Append("},");
- }
- jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
- jsonBuilder.Append("]");
- return jsonBuilder.ToString();
- }
- private static string GetLanguageFormat(string strName, bool isLowerBegin)
- {
- string[] strs = strName.Split('_');
- strName = "";
- for (int i = 0; i < strs.Length; i++)
- {
- if (i == 0 && isLowerBegin)
- {
- strName += strs[i].ToLower();
- }
- else
- {
- strName += strs[i].Substring(0, 1).ToUpper() + strs[i].Substring(1).ToLower();
- }
- }
- return strName;
- }
- public static string ToJson(DataRow dr)
- {
- StringBuilder jsonBuilder = new StringBuilder();
- jsonBuilder.Append("{");
- for (int j = 0; j < dr.Table.Columns.Count; j++)
- {
- jsonBuilder.Append("\"");
- jsonBuilder.Append(dr.Table.Columns[j].ColumnName);
- jsonBuilder.Append("\":\"");
- jsonBuilder.Append(escape(dr[j].ToString()));
- jsonBuilder.Append("\",");
- }
- jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
- jsonBuilder.Append("}");
- return jsonBuilder.ToString();
- }
- public static string ToJson(UltraGridRow row)
- {
- StringBuilder jsonBuilder = new StringBuilder();
- jsonBuilder.Append("{");
- for (int j = 0; j < row.Cells.Count; j++)
- {
- jsonBuilder.Append("\"");
- //jsonBuilder.Append(row.Cells[j].Column.Key);
- jsonBuilder.Append(GetLanguageFormat(row.Cells[j].Column.Key, true));
- jsonBuilder.Append("\":\"");
- jsonBuilder.Append(escape(row.Cells[j].Value.ToString()));
- jsonBuilder.Append("\",");
- }
- jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
- jsonBuilder.Append("}");
- return jsonBuilder.ToString();
- }
- /// <summary>
- /// json特殊字符转义
- /// </summary>
- /// <param name="json">old json</param>
- /// <returns>new json</returns>
- private static string escape(string json)
- {
- string newJson = "";
- if (!string.IsNullOrEmpty(json))
- {
- newJson = json.Replace("\\", "\\\\").Replace("\r", "\\r").Replace("\n", "\\n").Replace("\"", "\\\"");
- }
- return newJson;
- }
- }
- }
|