C#操作Json数据
JSON是现今各语言实现数据交互应用最广泛的一种格式,在于Xml的比较中,由于 JSON 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用得带宽。
本文采用的是Newtonsoft.Json插件类库提供的JsonConvert操作类实现
下面附上Json操作类的源码
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; namespace SP.Studio.Json
{
/// <summary>
/// Json操作类
/// Author:Jacky
/// </summary>
public static class JsonAgent
{
/// <summary>
/// 把json格式的单一对象转换成为哈希表
/// </summary>
public static Hashtable GetJObject(string json)
{
Hashtable ht = new Hashtable();
try
{
JObject obj = (JObject)JsonConvert.DeserializeObject(json);
foreach (KeyValuePair<string, JToken> keyValue in obj)
{
ht.Add(keyValue.Key, keyValue.Value);
}
}
catch (Exception ex)
{
ht.Add("Exception", ex.Message);
} return ht;
} /// <summary>
/// 把一个json数组对象转化成为hashlist
/// </summary>
public static Hashtable[] GetJList(string json)
{
Hashtable[] list;
try
{
JArray obj = (JArray)JsonConvert.DeserializeObject(json);
list = new Hashtable[obj.Count];
for (int i = 0; i < list.Length; i++)
{
list[i] = new Hashtable();
foreach (KeyValuePair<string, JToken> keyValue in (JObject)obj[i])
{
list[i].Add(keyValue.Key, keyValue.Value);
}
} }
catch (Exception ex)
{
list = null;
}
return list;
} /// <summary>
/// 将Json字符串转化为实体对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="json"></param>
/// <returns></returns>
public static T DeserializeObject<T>(string json)
{
return JsonConvert.DeserializeObject<T>(json);
}
}
}
调用方式跟上一篇操作Xml的差不多
PS:扫描下方二维码或点击链接,加入QQ群


C#操作Json数据的更多相关文章
- js中如何操作json数据
一.要想熟练的操作json数据,就先要了解json数据的结构,json有两种结构:对象和数组. 1.对象 一个对象以“{”开始,“}”结束.每个“名称”后跟一个“:”:“‘名称/值’ 对”之间使用“, ...
- Jquery重新学习之五[操作JSON数据]
Jquery操作Json格式的数据在我们平时的项目中也经常运用:最近看Jquery权威指南中就有一章节是对这方面的整理总结:最后通过一个Asp.net结合一般处理程序ashx的实例,基本上能满足项目中 ...
- Java操作JSON数据(4,end)--Jackson操作JSON数据
Jackson是SpringBoot默认使用的JSON处理库,它可以轻松的将Java对象转换成JSON对象,同样也可以将JSON转换成Java对象.本文介绍下Jackson的基本使用方法,包括序列化和 ...
- Java操作JSON数据(3)--fastjson操作JSON数据
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean.本文介绍下fastjs ...
- Java操作JSON数据(2)--Gson操作JSON数据
Gson是Google公司发布的一个开发源码的Java库,可用于将Java对象转换为JSON字符串,也可用于将JSON字符串转换为对应的Java对象.本介绍下Gson的基本使用方法,包括序列化和反序列 ...
- Java操作JSON数据(1)--JSON-lib操作JSON数据
JSON-lib是一个java库,用于将bean.映射.集合.java数组和XML转换为JSON,或将JSON转为beans和DynaBeans.JSON-lib最后的版本是2.4,更新时间是2010 ...
- js之操作JSON数据
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- Android(java)学习笔记208:Android中操作JSON数据(Json和Jsonarray)
1.Json 和 Xml JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...
- [转] jQuery 操作 JSON 数据
jquery下json数组的操作用法实例: jquery中操作JSON数组的情况中遍历方法用的比较多,但用添加移除这些好像就不是太多了. 试过json[i].remove(),json.remove( ...
- Android(java)学习笔记151:Android中操作JSON数据(Json和Jsonarray)
1.Json 和 Xml JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...
随机推荐
- Qt(自适应窗口)
关于窗口布局: 默认控件的大小为最小尺寸: 如果此时右键设置布局时,窗口大小会自动缩放对应大小,不利于调整. 建议窗口控件设置好最小尺寸,便于窗口布局时,控件不会变形,例如: 改变minimumsiz ...
- MyBatis 学习记录5 MyBatis的二级缓存
主题 之前学习了一下MyBatis的一级缓存,主要涉及到BaseExecutor这个类. 现在准备学习记录下MyBatis二级缓存. 配置二级缓存与初始化发生的事情 首先二级缓存默认是不开启的,需要自 ...
- Set与List之间转化
List list = new ArrayList(set);Set set = new HashSet(list); //但是有一点,转换当中可能要丢失数据,尤其是从list转换到set的时候,因为 ...
- 06002001单例模式C#实现版本
书名:设计模式之禅 作者:秦小波 出版社:机械工业出版社 1 描述 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例 2 UML类图 图1-1 单例模式类图 3 代码 Singleto ...
- MyCat的安装及基本使用(MySQL分库分表)
1.Mycat的简介 1.1 数据库集群产生的背景 如今随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数 ...
- kali linux: 网卡监听及扫描网络
一.网卡监听: kali不支持内置网卡,仅仅支持usb网卡.我用的虚拟机.首先在虚拟机的可移动设备里打开usb网卡的连接,执行ifconfig命令,如下: eth0接口是本地有线网卡信息,lo接口是本 ...
- Spket,eclipse下安装Spket插件,格式化js
点击菜单 Help => Install New SoftWare => add 如图 name框输入:Skept Location框输入:http://www.agpad.com/upd ...
- xdebug 一直报错 upstream timed out (110: Connection timed out) while reading response header from upstream
本地主机(Windows环境192.168.66.1)访问虚拟机(192.168.66.139)里面的搭建的php环境(系统centos6.5版本,php版本是5.5.30 ,xdebug 2.4.0 ...
- fastdfs 上传和下载 有用
一.FastDFS解决什么样的问题 1.存储空间可扩展. 2.提供一个统一的访问方式. 使用FastDFS,分布式文件系统.存储空间可以横向扩展,可以实现服务器的高可用.支持每个节点有备份机. 二.什 ...
- SpringBoot 中 使用Mybatis时 如果后端数据库为 Oracle注意事项
报错信息如下: Could not set parameters for mapping: ParameterMapping{property='age', mode=IN, javaType=cla ...