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采用完全独立于语言的 ...
随机推荐
- Spring技术内幕之Spring Data JPA-自定义Repository实现
1.自定义Repository方法接口,让接口的实现类来继承这个中间接口而不是Repository接口 package com.data.jpa.dao; import java.io.Seriali ...
- Myeclipse报错:“Versions of Spring facet could not be detected”的解决方法
解决方法如下: VERSION OF SPRING FACET COULD NOT BE DETECTED. The migration process needs to detect the cor ...
- From Ruby array to JS array in Rails- 'quote'?
From Ruby array to JS array in Rails- 'quote'? <%= raw @location_list.as_json %>
- redis 开发与运维 学习心得1
主要是命令相关 第一章 初识Redis 1.redis是基于键值对的NoSQL. 2.redis的值可以是 string, hash, list, set, zset, bitmaps, hyperl ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 13—Clustering 聚类
Lecture 13 聚类 Clustering 13.1 无监督学习简介 Unsupervised Learning Introduction 现在开始学习第一个无监督学习算法:聚类.我们的数据没 ...
- mysql数据库怎么安装到自己的电脑上?
安装mysql1.安装过程中输⼊入Y确认继续安装 2.设置密码1.第⼀一次设登陆密码 2.第⼆二次验证密码 安装完成
- jsp出现getOutputStream() has already been called for this response异常的原因和解决方法
jsp出现getOutputStream() has already been called for this response异常的原因和解决方法 在tomcat5下jsp中出现此错误一般都是在js ...
- Flat Shading
[Flat Shading] Per-vertex渲染技术是针对每个顶点进行渲染计算,然后把计算得到的颜色值和这个顶点关联起来.然后在多边形的面上进行颜色插值以后的平滑的渲染效果.这也叫做Gourau ...
- ZPP002M可重复执行
AutoOutToSAP一直未回写完成,查看得知最后一步执行时间超长, stop job ZPP002M可重复执行
- Vuex笔记/axios笔记
每一个 Vuex 应用的核心就是 store(仓库).“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state).Vuex 和单纯的全局对象有以下两点不同: Vuex 的状态存储 ...