List<T>轉Json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public
static string
Obj2Json<T>(T data) { try { System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =
new System.Runtime.Serialization.Json.DataContractJsonSerializer(data.GetType()); using
(MemoryStream ms = new
MemoryStream()) { serializer.WriteObject(ms, data); return
Encoding.UTF8.GetString(ms.ToArray()); } } catch { return
null ; } } |
Json轉List<T>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public
static Object Json2Obj(String json,Type t) { try { System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =
new System.Runtime.Serialization.Json.DataContractJsonSerializer(t); using
(MemoryStream ms = new
MemoryStream(Encoding.UTF8.GetBytes(json))) { return
serializer.ReadObject(ms); } } catch { return
null ; } } |
DataTable 轉Json
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
|
public
static string
DataTable2Json(DataTable dt) { if
(dt.Rows.Count == 0) { return
"" ; } StringBuilder jsonBuilder =
new StringBuilder(); // jsonBuilder.Append("{");
//jsonBuilder.Append(dt.TableName.ToString());
jsonBuilder.Append( "[" ); //轉換成多個model的形式 for
( int
i = 0; i < dt.Rows.Count; i++) { jsonBuilder.Append( "{" ); for
( int
j = 0; j < dt.Columns.Count; j++) { jsonBuilder.Append( "\"" ); jsonBuilder.Append(dt.Columns[j].ColumnName); jsonBuilder.Append( "\":\"" ); jsonBuilder.Append(dt.Rows[i][j].ToString()); jsonBuilder.Append( "\"," ); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append( "}," ); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append( "]" ); // jsonBuilder.Append("}"); return
jsonBuilder.ToString(); } |
單個對象轉JSON
1
2
3
4
5
6
7
8
9
|
public
static T Json2Obj<T>( string
json) { T obj = Activator.CreateInstance<T>(); using
(System.IO.MemoryStream ms = new
System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(json))) { System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =
new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType()); return
(T)serializer.ReadObject(ms); } } |