C#对象转JSON字符串和JSON字符串转对象
- namespace Net.String.ConsoleApplication
- {
- using System;
- using System.Data;
- using System.Collections;
- using System.ComponentModel;
- using System.Collections.Generic;
- using System.Web.Script.Serialization;
- public class JsonHelper
- {
- /// <summary>
- /// 把json字符串转成对象
- /// </summary>
- /// <typeparam name="T">对象</typeparam>
- /// <param name="data">json字符串</param>
- public static T Deserialize<T>(string data)
- {
- System.Web.Script.Serialization.JavaScriptSerializer json = new System.Web.Script.Serialization.JavaScriptSerializer();
- return json.Deserialize<T>(data);
- }
- /// <summary>
- /// 把对象转成json字符串
- /// </summary>
- /// <param name="o">对象</param>
- /// <returns>json字符串</returns>
- public static string Serialize(object o)
- {
- System.Text.StringBuilder sb = new System.Text.StringBuilder();
- System.Web.Script.Serialization.JavaScriptSerializer json = new System.Web.Script.Serialization.JavaScriptSerializer();
- json.Serialize(o, sb);
- return sb.ToString();
- }
- /// <summary>
- /// 把DataTable对象转成json字符串
- /// </summary>
- public string ToJson(DataTable dt)
- {
- JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
- ArrayList arrayList = new ArrayList();
- foreach (DataRow dataRow in dt.Rows)
- {
- Dictionary<string, object> dictionary = new Dictionary<string, object>();
- foreach (DataColumn dataColumn in dt.Columns)
- {
- dictionary.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName]);
- }
- arrayList.Add(dictionary);
- }
- return javaScriptSerializer.Serialize(arrayList);
- }
- }
- public static class EnumerableExtension
- {
- /// <summary>
- /// 集合添加一个对象
- /// </summary>
- public static IEnumerable<T> Add<T>(this IEnumerable<T> e, T value)
- {
- foreach (var cur in e)
- { yield return cur; }
- yield return value;
- }
- /// <summary>
- /// 把集合转成DataTable
- /// </summary>
- public static DataTable ConvertToDataTable<T>(this IEnumerable<T> enumerable)
- {
- var dataTable = new DataTable();
- foreach (PropertyDescriptor pd in TypeDescriptor.GetProperties(typeof(T)))
- {
- dataTable.Columns.Add(pd.Name, pd.PropertyType);
- }
- foreach (T item in enumerable)
- {
- var Row = dataTable.NewRow();
- foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))
- {
- Row[dp.Name] = dp.GetValue(item);
- }
- dataTable.Rows.Add(Row);
- }
- return dataTable;
- }
- }
- }
C#对象转JSON字符串和JSON字符串转对象的更多相关文章
- Json字符串和Json对象的简单总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). ...
- JavaScript操作JSON的方法总结,JSON字符串转换为JSON对象
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- 【荐】使用eval()、new Function()将JSON字符串转换为JSON对象
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...
- JSON字符串与JSON对象的区别
Q:什么是"JSON字符串",什么是"JSON对象",两者的区别? a.JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方 ...
- js 将json字符串转换为json对象的方法解析
推荐: var obj = eval('(' + str + ')'); var last=JSON.stringify(obj); //将JSON对象转化为string字符 例如: JSON字符串: ...
- javaScript 将json字符串转换为json对象的方法解析
JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对 ...
- 字符串与json对象之间转换
var data='{"1":"","2":"two"}' 原生 eval eval('('++')') JSON.p ...
- JSON字符串与JSON对象
JSON对象是直接可以使用JQuery操作的格式,和js中的对象一样,可以用对象(类名)点出属性(方法). JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用 ...
- js 中json字符串转化json对象
JSON字符串:var str = '{ "name": "cxh", "sex": "man" }'; JSON对象: ...
- Java JSON、XML文件/字符串与Bean对象互转解析
前言 在做web或者其他项目中,JSON与XML格式的数据是大家经常会碰见的2种.在与各种平台做数据对接的时候,JSON与XML格式也是基本的数据传递格式,本文主要简单的介绍JSON/XML ...
随机推荐
- 正确率、召回率和 F 值
原文:http://peghoty.blog.163.com/blog/static/49346409201302595935709/ 正确率.召回率和 F 值是在鱼龙混杂的环境中,选出目标的重要评价 ...
- discuz常用变量
帖子URL: {url}帖子标题: {title}附件图片: {pic}帖子内容: {summary}楼主: {author}楼主UID: {authorid}楼主头像: {avatar}楼主头像(中 ...
- 关于删除linux多余内核
step 1: 查找当前正在使用的内核文件的版本号 #uname -r step 2: 列出所有的内核文件,使用rpm 或者 dpkg(基于linux系统) 命令 #rpm -q kernel 或者 ...
- Eclipse+Axis使用WSDL文件生成Web Service服务端/客户端
JDK版本:1.5.0_22 Eclipse版本:Helios Service Release 2(3.6.2) WSDL文件的创建过程见http://blog.csdn.net/a19881029/ ...
- 今天学习css一些动画效果
<!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...
- 关于IE6的一些常见的CSS BUG处理
CSS BUG:样式在各浏览器中解析不一致的情况,或者说CSS样式在浏览器中不能正确显示的问题称为CSS BUG: CSS Hack:css hack是指一种兼容css 在不同浏览器中正确显示的技巧方 ...
- JavaScript 三种绑定事件方式之间的区别
JavaScript三种绑定事件的方式: 1. <div id="btn" onclick="clickone()"></div> // ...
- 不可小觑的“alt”
定义和用法 alt 属性是一个必需的属性,它规定在图像无法显示时的替代文本. 假设由于下列原因用户无法查看图像,alt 属性可以为图像提供替代的信息: 网速太慢 src 属性中的错误 浏览器禁用图像 ...
- Java Concurrency - ReadWriteLock & ReentrantReadWriteLock
锁所提供的最重要的改进之一就是 ReadWriteLock 接口和它的实现类 ReentrantReadWriteLock.这个类提供两把锁,一把用于读操作和一把用于写操作.同一时间可以有多个线程执行 ...
- HDOJ2010水仙花数
水仙花数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...