CNAS取数仪器端升级
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TransConvert.cs 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using Newtonsoft.Json;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Text;
  7. namespace CnasSynchronousCommon
  8. {
  9. public class TransConvert
  10. {
  11. /// <summary>
  12. /// datatable传Json
  13. /// </summary>
  14. /// <param name="dt"></param>
  15. /// <returns></returns>
  16. public static string DataTableToJSON(DataTable dt)
  17. {
  18. StringBuilder jsonBuilder = new StringBuilder();
  19. jsonBuilder.Append("[");
  20. for (int i = 0; i<dt.Rows.Count; i++)
  21. {
  22. jsonBuilder.Append("{");
  23. for (int j = 0; j<dt.Columns.Count; j++)
  24. {
  25. jsonBuilder.Append("\"");
  26. jsonBuilder.Append(dt.Columns[j].ColumnName);
  27. jsonBuilder.Append("\":\"");
  28. jsonBuilder.Append(dt.Rows[i][j].ToString());
  29. jsonBuilder.Append("\",");
  30. }
  31. jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
  32. jsonBuilder.Append("},");
  33. }
  34. jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
  35. jsonBuilder.Append("]");
  36. return jsonBuilder.ToString();
  37. }
  38. /// <summary>
  39. /// List<DataRow>转Json
  40. /// </summary>
  41. /// <param name="lst"></param>
  42. /// <returns></returns>
  43. public static string ListToString(List<DataRow> lst)
  44. {
  45. return JsonConvert.SerializeObject(lst);
  46. }
  47. /// <summary>
  48. /// json传List<DataRow>
  49. /// </summary>
  50. /// <param name="strList"></param>
  51. /// <returns></returns>
  52. public static List<DataRow> StringToList(string strList)
  53. {
  54. return JsonConvert.DeserializeObject<List<DataRow>>(strList);
  55. }
  56. }
  57. }