怎么将数据库中读取出来的数据变成josn格式的数据? RT,请问有哪些方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以根据自己的数据源写一个转json的方法(自己拼接json格式) http://www.cnblogs.com/Ferry/archive/2010/08/03/1791439.html看到底 数据源以DataSet为例private string ConvertToJson(DataSet ds) { StringBuilder retVal = new StringBuilder(); int TableCount = 0, RowCount = 0, ColumnCount = 0; retVal.Append("{"); foreach (DataTable dt in ds.Tables) { TableCount++; retVal.AppendFormat("{0}:[", dt.TableName); foreach (DataRow row in dt.Rows) { RowCount++; retVal.Append("{"); foreach (DataColumn column in dt.Columns) { ColumnCount++; retVal.AppendFormat("{0}:\"{1}\"{2}", column.ColumnName, row[column].ToString().Trim().Replace("'", "\\'").Replace("\\r", "<br/>").Replace("\\n", "<br/>").Replace(System.Environment.NewLine, "<br/>"), ColumnCount == dt.Columns.Count ? "" : ","); } ColumnCount = 0; retVal.Append("}"); retVal.AppendFormat("{0}", RowCount == dt.Rows.Count ? "" : ","); } RowCount = 0; retVal.Append("]"); retVal.AppendFormat(TableCount == ds.Tables.Count ? "" : ","); } retVal.Append("}"); return retVal.ToString(); } 。net中不是有一个josn序列化的类吗?这是干什么用的? 自己接接,或者使用json序列化类 楼主百度一下 Newtonsoft.Json.dll 1:自己拼接成json格式2:JavaScriptSerializer 3:DataContractJsonSerializer2和3都要3.5才支持! 这个简单,转的方式很多,google一个简洁合适自己的。 public static List<T> JSONStringToList<T>(this string JsonStr) { JavaScriptSerializer Serializer = new JavaScriptSerializer(); List<T> objs = Serializer.Deserialize<List<T>>(JsonStr); return objs; } public static T Deserialize<T>(string json) { T obj = Activator.CreateInstance<T>(); using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json))) { System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType()); return (T)serializer.ReadObject(ms); } }注意Serializable, # // 将datatable转换为json # /// </summary> # /// <param name="dtb"></param> # /// <returns></returns> # private string Dtb2Json(DataTable dtb) { # JavaScriptSerializer jss = new JavaScriptSerializer(); # System.Collections.ArrayList dic = new System.Collections.ArrayList(); # foreach (DataRow dr in dtb.Rows) # { # System.Collections.Generic.Dictionary<string, object> drow = new System.Collections.Generic.Dictionary<string, object>(); # foreach (DataColumn dc in dtb.Columns) # { # drow.Add(dc.ColumnName, dr[dc.ColumnName]); # } # dic.Add(drow); # # } # //序列化 # return jss.Serialize(dic); # # } 最后一句:return jss.Serialize(dic); 括号中的参数只能是集合对象吗? JSON其实就是个字符串··你想怎么拼接就怎么弄· 用JavaScriptSerializer类来序列化,如果是多张表该怎么做的? 将你取出来的数据序列化 Serializer 什么叫取出来,我将数据读出来变成一个datatable,这个时候算不算是取出来,可以直接序列化datatable吗? 将datatable转换为json 关于验证跳转的问题 javascript 填充的DropdownList的postback问题 对话框弹不出来~? 关于多条件判断问题!!!!!!!!!!!!!!!我该怎么做啊?????????????? 怎么我观察到php的工资都很高呀 求控件及相应算法 我的WebServer 的Session值为什么老是丢? 请问下面这个问题应该怎么解决最好?关于处理网页中的数据的 ASP.NET很菜问题 listbox 滚动条或 tooltip一问 未能映射路径“/bbs/config/schedule.config” 批量放入购物车,用repeater 绑定产品,文本框,价格
{
StringBuilder retVal = new StringBuilder();
int TableCount = 0, RowCount = 0, ColumnCount = 0;
retVal.Append("{");
foreach (DataTable dt in ds.Tables)
{
TableCount++;
retVal.AppendFormat("{0}:[", dt.TableName);
foreach (DataRow row in dt.Rows)
{
RowCount++; retVal.Append("{");
foreach (DataColumn column in dt.Columns)
{
ColumnCount++; retVal.AppendFormat("{0}:\"{1}\"{2}", column.ColumnName, row[column].ToString().Trim().Replace("'", "\\'").Replace("\\r", "<br/>").Replace("\\n", "<br/>").Replace(System.Environment.NewLine, "<br/>"), ColumnCount == dt.Columns.Count ? "" : ",");
} ColumnCount = 0; retVal.Append("}"); retVal.AppendFormat("{0}", RowCount == dt.Rows.Count ? "" : ",");
}
RowCount = 0;
retVal.Append("]");
retVal.AppendFormat(TableCount == ds.Tables.Count ? "" : ",");
}
retVal.Append("}");
return retVal.ToString();
}
2:JavaScriptSerializer
3:DataContractJsonSerializer
2和3都要3.5才支持!
{
JavaScriptSerializer Serializer = new JavaScriptSerializer();
List<T> objs = Serializer.Deserialize<List<T>>(JsonStr);
return objs;
} public static T Deserialize<T>(string json)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());
return (T)serializer.ReadObject(ms);
}
}
注意Serializable,
# /// </summary>
# /// <param name="dtb"></param>
# /// <returns></returns>
# private string Dtb2Json(DataTable dtb) {
# JavaScriptSerializer jss = new JavaScriptSerializer();
# System.Collections.ArrayList dic = new System.Collections.ArrayList();
# foreach (DataRow dr in dtb.Rows)
# {
# System.Collections.Generic.Dictionary<string, object> drow = new System.Collections.Generic.Dictionary<string, object>();
# foreach (DataColumn dc in dtb.Columns)
# {
# drow.Add(dc.ColumnName, dr[dc.ColumnName]);
# }
# dic.Add(drow);
#
# }
# //序列化
# return jss.Serialize(dic);
#
# }
你想怎么拼接就怎么弄·