谁有ibatis xml文件(.net) 代码生成工具? 谁有ibatis xml文件(.net) 代码生成工具? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using System;using System.Linq;using System.IO;using System.Text;using System.Web;using System.Web.Services;using System.Collections;using System.Data;using System.Collections.Generic;using System.Runtime.Serialization;using System.Runtime.Serialization.Json;using System.Web.Script.Serialization;namespace FlexiGridDemo.tester{ public class JsonHelper { /// <summary> /// JSON序列化与反序列化辅助类 /// </summary> public static string Serialize<T>(T data) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(data.GetType()); using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, data); return Encoding.UTF8.GetString(ms.ToArray()); } } public static T Deserialize<T>(string json) { T obj = Activator.CreateInstance<T>(); using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json))) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType()); return (T)serializer.ReadObject(ms); } } public static string CreateJsonParameters(DataTable dt) { StringBuilder JsonString = new StringBuilder(); if (dt != null && dt.Rows.Count > 0) { JsonString.Append("{ "); JsonString.Append("\"Head\":[ "); for (int i = 0; i < dt.Rows.Count; i++) { JsonString.Append("{ "); for (int j = 0; j < dt.Columns.Count; j++) { if (j < dt.Columns.Count - 1) { JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\","); } else if (j == dt.Columns.Count - 1) { JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\""); } } if (i == dt.Rows.Count - 1) { JsonString.Append("} "); } else { JsonString.Append("}, "); } } JsonString.Append("]}"); return JsonString.ToString(); } else { return null; } } public static string CreateJsonData(DataTable dt) { StringBuilder JsonString = new StringBuilder(); if (dt.Rows.Count > 0) { JavaScriptSerializer js = new JavaScriptSerializer(); JsonString.AppendFormat(js.Serialize(dt).ToString()); } return JsonString.ToString(); } private static List<Dictionary<string, object>> RowsToDictionary(DataTable table) { List<Dictionary<string, object>> objs = new List<Dictionary<string, object>>(); foreach (DataRow dr in table.Rows) { Dictionary<string, object> drow = new Dictionary<string, object>(); for (int i = 0; i < table.Columns.Count; i++) { drow.Add(table.Columns[i].ColumnName, dr[i]); } objs.Add(drow); } return objs; } public static Dictionary<string, object> ToJson(DataTable table) { Dictionary<string, object> d = new Dictionary<string, object>(); d.Add(table.TableName, RowsToDictionary(table)); return d; } public static Dictionary<string, object> ToJson(DataSet data) { Dictionary<string, object> d = new Dictionary<string, object>(); foreach (DataTable table in data.Tables) { d.Add(table.TableName, RowsToDictionary(table)); } return d; } }} IBatisNet不能直接返回DataSet,DataTable,而且需要对象层,才能调用,当然,其实你可以传入Hashtable可以用CodeSmith模板生成xml和对象层可以去www.cnblogs.com/mail-ricklee上下载fortuneBaseFortuneBase2(Oracle11g)\FortuneLibrary\CodeSmith\Fortune(Oracle)路径为CodeSmith模板,足够生成xml和对象层 遇到难题了??AJAX高手请进来!! GridView删除行的时候经常一次删除两行!!! 一个不知道怎么做的问题 如何实现ASP.NET 页面下载后并刷新页面 在线等。。。。。。Datagrid 中添加新记录 急急急…… 请大家看看1+1=?这个贴,跪求,我都没分了(我真是想知道是怎么回事) 关于服务器控件在Table运行的问题 正则:.+(?=wwwete4com).+ 为什么能正功。换成?!就不成功了? Response的AddFileDependency方法是什么意思? 这个错误怎么修改,刚学asp.net 想实现一个简单的功能 参数化查询一定能防注入吗?有字符串拼接不怕吗
using System.Linq;
using System.IO;
using System.Text;
using System.Web;
using System.Web.Services;
using System.Collections;
using System.Data;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Web.Script.Serialization;namespace FlexiGridDemo.tester
{
public class JsonHelper
{
/// <summary>
/// JSON序列化与反序列化辅助类
/// </summary>
public static string Serialize<T>(T data)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(data.GetType());
using (MemoryStream ms = new MemoryStream())
{
serializer.WriteObject(ms, data);
return Encoding.UTF8.GetString(ms.ToArray());
}
} public static T Deserialize<T>(string json)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
return (T)serializer.ReadObject(ms);
}
} public static string CreateJsonParameters(DataTable dt)
{
StringBuilder JsonString = new StringBuilder();
if (dt != null && dt.Rows.Count > 0)
{
JsonString.Append("{ ");
JsonString.Append("\"Head\":[ ");
for (int i = 0; i < dt.Rows.Count; i++)
{
JsonString.Append("{ ");
for (int j = 0; j < dt.Columns.Count; j++)
{
if (j < dt.Columns.Count - 1)
{
JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\",");
}
else if (j == dt.Columns.Count - 1)
{
JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\"");
}
}
if (i == dt.Rows.Count - 1)
{
JsonString.Append("} ");
}
else
{
JsonString.Append("}, ");
}
}
JsonString.Append("]}");
return JsonString.ToString();
}
else
{
return null;
}
} public static string CreateJsonData(DataTable dt)
{
StringBuilder JsonString = new StringBuilder();
if (dt.Rows.Count > 0)
{
JavaScriptSerializer js = new JavaScriptSerializer();
JsonString.AppendFormat(js.Serialize(dt).ToString());
}
return JsonString.ToString();
} private static List<Dictionary<string, object>> RowsToDictionary(DataTable table)
{
List<Dictionary<string, object>> objs = new List<Dictionary<string, object>>();
foreach (DataRow dr in table.Rows)
{
Dictionary<string, object> drow = new Dictionary<string, object>();
for (int i = 0; i < table.Columns.Count; i++)
{
drow.Add(table.Columns[i].ColumnName, dr[i]);
}
objs.Add(drow);
}
return objs;
} public static Dictionary<string, object> ToJson(DataTable table)
{
Dictionary<string, object> d = new Dictionary<string, object>();
d.Add(table.TableName, RowsToDictionary(table));
return d;
} public static Dictionary<string, object> ToJson(DataSet data)
{
Dictionary<string, object> d = new Dictionary<string, object>();
foreach (DataTable table in data.Tables)
{
d.Add(table.TableName, RowsToDictionary(table));
}
return d;
} }
}
路径为CodeSmith模板,足够生成xml和对象层