最近在项目中用到的相关Json的数据转换
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); } } |