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);
}
}
|
转:http://www.cnblogs.com/mrliuc/archive/2011/01/13/1934787.html