json 的相互 转换

using System.Runtime.Serialization.Json;

//json 转化为List集合

public List<T> JSONStringToList<T>(string strJson)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();

//List<T> objList = serializer.Deserialize<List<T>>(strJson);
List<T> objList = Deserialize<List<T>>(strJson);
return objList;
}

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);
}

}

//===================================

/// <summary>
/// DataTable转JsonString
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static string DataTableToJsonString(DataTable dt)
{
StringBuilder sb = new StringBuilder();
if (dt != null && dt.Rows.Count > 0)
{

foreach (DataRow dr in dt.Rows)
{
string row = string.Empty;
for (int i = 0; i < dt.Columns.Count; i++)
{
row += string.Format(",\"{0}\":\"{1}\"", dt.Columns[i].ColumnName, dr[i]);
}
if (row.Length>0)
{
row = row.Remove(0, 1);

}
sb.AppendFormat(",{{{0}}}",row);
}
sb.Remove(0, 1);
sb.Insert(0,"[");
sb.Append("]");

}
return sb.ToString();
}

时间: 2024-11-25 17:33:17

json 的相互 转换的相关文章

winform - json串的转换

通过java接口,或者查询数据库返回json串. 可以有两种方式进行解读. 1.简单方式 没有深层结构,最好只有一条数据(当然也可多条).可以用datatable来获取.返回的是clo0.clo1.clo2...这种标识. 这就要求事先知道列的内容,尤其是自己写的查询语句的时候. DataTable dt0 = FromRuntime.sqlToDataTables(sql); //如果有数据 if (dt0.Rows.Count > 0) { //遍历dt0 for (int i = 0; i

转 JSON与XML转换

这两天处理模块的联调工作,在json与XML转换中出现了一些奇怪的问题,仔细究来,实为对org.json.*包知之太少.晚上baidu.google一下,找出了问题出现的原因.在模块中,使用了两个方法,xml2Json()和json2Xml(),主要的问题就出在这两个方法的具体实现上.XML与JSON相互转换的Java类在org.json.*包中常用的有XML.java和JSONML.java,前一半时间花在了json格式与XML生成格式的验证上,json数据串格式没有错,只是在转换的时候需要在

C#将集合和Json格式互相转换的几种方式

1.使用微软自带的System.Web.Extensions.dll转换,该DLL文件一般存在于如下路径:c:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Web.Extensions.dll 具体操作如下: //将List集合转换为Json字符串,必须应用上面的DLL文件,同时引用using System.Web.Script.Serialization;命名空间 JavaScriptSerializer

C结构体与Json字符串自动转换

我们知道在Java中利用Gson这个包可以很方便地将Object和Json进行自动转换(串行化/反串行化).其原理是利用了Java的反射机制. 最近我的项目中需要将C结构体与Json自动互转.项目背景其实是一个类似protobuf的json协议生成与解析,协议很多,所以我们肯定是希望从一个C结构体的对象自动转成Json,不然协议一条一条自己写,手筋要累断. 要实现这个需求,首先就要给C结构体加入反射机制.我的处理方法是让用户在定义结构体时,额外再定义一个metainfo,用于保存这个结构体的反射

JavaScript对象与JSON字符串互相转换详解

JSON是目前互联网数据传输所采用的的主要格式,很多编程语言都有针对JSON的解析器和序列化器,在web前台领域,js对象与JSON字符串的互相转换需求也较为常见. 此文主要讲解js对象和JSON字符串互相转换的方法和一些细节 首先如果需要在开发中使用JSON传输及相应转换需要在html中引入json.js或者json2.js,下载地址:https://github.com/douglascrockford/JSON-js 1.js对象转JSON字符串(序列化) var jsonText = J

Newtonsoft.Json 把对象转换成json字符串

var resultJson = new { records = rowCount, page = pageindex, //总页数=(总页数+页大小-1)/页大小 total = (rowCount + pagesize - 1) / pagesize,//总页数 rows = data.ToList<Web.Entity.Db.Table1Bean>(), }; //JsonResult jr = Json(resultJson, "application/json",

JSON以及Java转换JSON的方法

本文主要讲述如下几个内容: 1.JSON定义以及JSON的特性 2.如何在JavaScript中解释JSON格式数据 3.如何在Java代码中使用JSON(讲对象转换成JSON对象以及解释JSON字符串) 一.JSON w3c上对JSON有比较详细的介绍,链接http://www.w3school.com.cn/json/index.asp.下面仅讲述重要的几点. Json是 JavaScript 对象表示法(JavaScript Object Notation),是轻量级的文本数据交换格式,具

iOS 字典或者数组和JSON串的转换

在和服务器交互过程中,会iOS 字典或者数组和JSON串的转换,具体互换如下: // 将字典或者数组转化为JSON串 + (NSData *)toJSONData:(id)theData { NSError *error = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:theData options:NSJSONWritingPrettyPrinted error:nil]; if ([jsonData leng

Jackson框架、json的各种转换输出、非常的IMBA

Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html 相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些.而且Jackson社区相对比较活跃,更新速度也比较快. 一.准备工作 1. 下载依赖库jar包 Jackson的jar