...
zhangyuekai
2024-08-15 4f89840b0c95ebd0ed79dff1ff1973d030a6c17d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.IO;
using System.Text;
 
namespace HStation.RevitDev.RevitDataExport.Common
{
    public static class JsonHelper
    {
        /// <summary>
        /// 使用Newtonsoft.Json.JsonConvert把对象转为json字符串
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static string ToJson<T>(T obj)
        {
            Newtonsoft.Json.Converters.IsoDateTimeConverter dtConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
            return JsonConvert.SerializeObject(obj, /*Formatting.Indented, */dtConverter);
        }
 
        /// <summary>
        /// 使用Newtonsoft.Json.JsonConvert把对象转为json字符串
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static string ToJson<T>(T obj, Formatting format)
        {
            Newtonsoft.Json.Converters.IsoDateTimeConverter dtConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
            return JsonConvert.SerializeObject(obj, format, dtConverter);
        }
 
        /// <summary>
        /// 使用Newtonsoft.Json.JsonConvert把json字符串转为对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="content"></param>
        /// <returns></returns>
        public static T ToObject<T>(string content)
        {
            return JsonConvert.DeserializeObject<T>(content);
        }
 
        /// <summary>
        /// 使用Newtonsoft.Json.JsonConvert把json字符串转为dynamic对象
        /// </summary>
        /// <param name="content"></param>
        /// <returns></returns>
        public static dynamic ToDynamic(string content)
        {
            return JsonConvert.DeserializeObject<dynamic>(content);
        }
 
        /// <summary>
        /// 使用Newtonsoft.Json.Linq把json字符串转为JObject对象
        /// </summary>
        /// <param name="content"></param>
        /// <returns></returns>
        public static JObject ToJObject(string content)
        {
            return JObject.Parse(content);
        }
 
        /// <summary>
        /// 读取json文件
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public static string ReadJson(string path)
        {
            if (!System.IO.File.Exists(path)) { return string.Empty; }
            string jsonText = string.Empty;
            using (StreamReader sr = new StreamReader(path, Encoding.UTF8))
            {
                string line;
                while ((line = sr.ReadLine()) != null)
                {
                    jsonText = jsonText + line.ToString();
                }
            }
 
            return jsonText;
        }
 
        public static string ReadJsonFile(string path)
        {
            if (!System.IO.File.Exists(path)) { return string.Empty; }
            string jsonText = string.Empty;
            using (StreamReader sr = new StreamReader(path, Encoding.UTF8))
            {
                jsonText = sr.ReadToEnd();
            }
 
            return jsonText;
        }
 
        /// <summary>
        /// 写json文件
        /// </summary>
        /// <param name="path"></param>
        /// <param name="content"></param>
        public static void WriteJson(string path, string content)
        {
            System.IO.File.WriteAllText(path, content);
        }
    }
}