C#把insert和Update的语句转化为json格式的数据

echoxue 2012-07-30 02:12:01
就是把insert和update语句中的字段和value作为一个json的格式传输,然后在server端去根据相应的语句去解析出来到实体类。

有人做过吗?这个要求哦球好像很变态啊!

...全文
172 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingdom_0 2012-07-30
  • 打赏
  • 举报
回复
参数化,用Proc处理多好.
nrylovecjb 2012-07-30
  • 打赏
  • 举报
回复

/// <summary>
/// 转换对象为JSON格式数据
/// </summary>
/// <typeparam name="T">类</typeparam>
/// <param name="obj">对象</param>
/// <returns>字符格式的JSON数据</returns>
public static string GetJSON<T>(object obj)
{
string result = String.Empty;
try
{
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =
new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
serializer.WriteObject(ms, obj);
result = System.Text.Encoding.UTF8.GetString(ms.ToArray());
}
}
catch (Exception ex)
{
throw ex;
}
return result;
}
/// <summary>
/// 转换List<T>的数据为JSON格式
/// </summary>
/// <typeparam name="T">类</typeparam>
/// <param name="vals">列表值</param>
/// <returns>JSON格式数据</returns>
public static string JSON<T>(List<T> vals)
{
System.Text.StringBuilder st = new System.Text.StringBuilder();
try
{
System.Runtime.Serialization.Json.DataContractJsonSerializer s = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));

foreach (T city in vals)
{
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
s.WriteObject(ms, city);
st.Append(System.Text.Encoding.UTF8.GetString(ms.ToArray()));
}
}
}
catch (Exception ex)
{
throw ex;
}

return st.ToString();
}
/// <summary>
/// JSON格式字符转换为T类型的对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="jsonStr"></param>
/// <returns></returns>
public static T ParseFormByJson<T>(string jsonStr)
{
T obj = Activator.CreateInstance<T>();
using (System.IO.MemoryStream ms =
new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonStr)))
{
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =
new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
return (T)serializer.ReadObject(ms);
}
}

echoxue 2012-07-30
  • 打赏
  • 举报
回复
明白了。好像insert没有问题了,但是update的where条件怎么处理啊?
echoxue 2012-07-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

拼JSON [{"Filed":"FiledName1","Value":"Value1"},{"Filed":"FiledName2","Value":"Value2"}]

接受List<实体类>

实体类 连个属性 Filed 、Value
[/Quote]

能否提供个example,不明白啊
y527106719 2012-07-30
  • 打赏
  • 举报
回复
实体类 连个属性 Filed 、Value
  • 打赏
  • 举报
回复
拼JSON [{"Filed":"FiledName1","Value":"Value1"},{"Filed":"FiledName2","Value":"Value2"}]

接受List<实体类>

实体类 连个属性 Filed 、Value

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧