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); } } |