c#简单的Json解析类
使用方法:
引用Newtonsoft.Json.dll文件,然后引用命名空间using Newtonsoft.Json.Linq;
JsonDome中有实例,照做就行
现在贴上示例代码
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace JD
{
public class JsonDome
{
public static Dictionary<string, string> GetJsonstr(string jsonStr)
{
jsonStr = "{\"category_attribute_search_response\":{\"code\":\"0\",\"total\":35,\"attributes\":[{\"aid\":10093066,\"name\":\"品相\",\"cid\":\"3837\"},{\"aid\":83470,\"name\":\"阶段\",\"cid\":\"3837\"},{\"aid\":10044550,\"name\":\"编纂\",\"cid\":\"3837\"},{\"aid\":10044551,\"name\":\"摄影\",\"cid\":\"3837\"},{\"aid\":10044548,\"name\":\"口述\",\"cid\":\"3837\"},{\"aid\":10044549,\"name\":\"朗读\",\"cid\":\"3837\"},{\"aid\":10044546,\"name\":\"校对\",\"cid\":\"3837\"},{\"aid\":10044547,\"name\":\"注释\",\"cid\":\"3837\"},{\"aid\":10044544,\"name\":\"译者\",\"cid\":\"3837\"},{\"aid\":10044545,\"name\":\"绘者\",\"cid\":\"3837\"},{\"aid\":10044558,\"name\":\"读者对象\",\"cid\":\"3837\"},{\"aid\":10044559,\"name\":\"附件数量\",\"cid\":\"3837\"},{\"aid\":10044556,\"name\":\"中图法分类号\",\"cid\":\"3837\"},{\"aid\":10044557,\"name\":\"主题词\",\"cid\":\"3837\"},{\"aid\":10044554,\"name\":\"品牌\",\"cid\":\"3837\"},{\"aid\":10044555,\"name\":\"附件\",\"cid\":\"3837\"},{\"aid\":10044552,\"name\":\"书写\",\"cid\":\"3837\"},{\"aid\":10044553,\"name\":\"整理\",\"cid\":\"3837\"},{\"aid\":10044536,\"name\":\"字数\",\"cid\":\"3837\"},{\"aid\":10044537,\"name\":\"印次\",\"cid\":\"3837\"},{\"aid\":10044538,\"name\":\"印刷时间\",\"cid\":\"3837\"},{\"aid\":10044539,\"name\":\"用纸\",\"cid\":\"3837\"},{\"aid\":10044540,\"name\":\"丛书名\",\"cid\":\"3837\"},{\"aid\":10044541,\"name\":\"外文名\",\"cid\":\"3837\"},{\"aid\":10044542,\"name\":\"著者\",\"cid\":\"3837\"},{\"aid\":10044543,\"name\":\"编者\",\"cid\":\"3837\"},{\"aid\":10044528,\"name\":\"版次\",\"cid\":\"3837\"},{\"aid\":10044529,\"name\":\"包装 \",\"cid\":\"3837\"},{\"aid\":10044530,\"name\":\"出版社\",\"cid\":\"3837\"},{\"aid\":10044531,\"name\":\"出版时间\",\"cid\":\"3837\"},{\"aid\":10044532,\"name\":\"正文语言\",\"cid\":\"3837\"},{\"aid\":10044533,\"name\":\"开本\",\"cid\":\"3837\"},{\"aid\":10044534,\"name\":\"套装数量\",\"cid\":\"3837\"},{\"aid\":10044535,\"name\":\"页数\",\"cid\":\"3837\"},{\"aid\":10044527,\"name\":\"ISBN\",\"cid\":\"3837\"}]}}";
//先获得名为category_attribute_search_response的值,再从中获得名为attribute的值就得到中括号中的键值对
var list = JObject.Parse(jsonStr)["category_attribute_search_response"]["attributes"];
Dictionary<string, string> listJson = new Dictionary<string, string>();
for (int i = ; i < list.Count(); i++)
{
if (list[i]["name"].ToString() == "ISBN")
{
listJson.Add("ISBN", list[i]["aid"].ToString());
}
if (list[i]["name"].ToString() == "版次")
{
listJson.Add("版次", list[i]["aid"].ToString());
}
if (list[i]["name"].ToString() == "出版社")
{
listJson.Add("出版社", list[i]["aid"].ToString());
}
}
return listJson;
} } }
附上链接地址:http://files.cnblogs.com/valiant1882331/Newtonsoft.Json.rar
c#简单的Json解析类的更多相关文章
- 自己动手实现一个简单的JSON解析器
1. 背景 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.相对于另一种数据交换格式 XML,JSON 有着诸多优点.比如易读性更好,占用空间更少等.在 ...
- Json解析类
Json解析类 定义两个辅助类 public class JSONObject : Dictionary<string, object> { } public class JSONAr ...
- 一个简单的json解析器
实现一个简单地json解析器. 两部分组成,词法分析.语法分析 词法分析 package com.mahuan.json; import java.util.LinkedList; import ja ...
- 用c#自己实现一个简单的JSON解析器
一.JSON格式介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.相对于另一种数据交换格式 XML,JSON 有着很多优点.例如易读性更好,占用空间更 ...
- 高手教您编写简单的JSON解析器
编写JSON解析器是熟悉解析技术的最简单方法之一.格式非常简单.它是递归定义的,所以与解析Brainfuck相比,你会遇到轻微的挑战 ; 你可能已经使用JSON.除了最后一点之外,解析 Scheme的 ...
- IOS自带json解析类解析json
- (IBAction)test:(id)sender { NSString *result = @"{\"code\":\"S00000\",\&q ...
- android json解析及简单例子
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
- android json 解析 简单示例
1 下面是一个简单的json 解析的demo,废话不多说,直接上代码 package com.sky.gallery; import java.io.ByteArrayOutputStream; im ...
- 【转】android json解析及简单例子
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
随机推荐
- Openstack中间DVR Part1 -- 东西走向的交通处理
作者:Liping Mao 发表于:2014-07-04 版权声明:能够随意转载.转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 在Openstack中L3router会造成流量集中 ...
- Android 读取手机短信
获取android手机短信需要在AndroidManifest.xml加权限: <uses-permission android:name="android.permission.RE ...
- Android主题换肤 无缝切换
2016年7月6日 更新:主题换肤库子项目地址:ThemeSkinning,让app集成换肤更加容易.欢迎star以及使用,提供改进意见. 更新日志: v1.3.0:增加一键切换切换字体(初版)v1. ...
- android的activity的跳转
1.无参数的跳转 先在layout下建立一个factivity.xml,在里面添加2个Button按钮和一个TextView,并添加属性 , 然后建立以个sactivity.xml文件, 在src下建 ...
- 1.Linux系统(CenntOS)固定IP的设定
首先:我们配置一个临时的固定的固定ip,作用是让我们用其他的shell工具连接虚拟机 ifconfig eth0 192.168.10.168 在主机用ping命令查询连通后再进行下一步 ping 1 ...
- javascript-01
1.JavaScript:浏览器脚本语言 2.JavaScript的作用 |-1.进行前端验证 |-2.实现页面的动态效果 3.JavaScript的特点 |-1.和java没有任何关系,官方标 ...
- 通过js实时检测文本框内容
思路 1,在获取文本框焦点后,启动定时器,每隔100毫秒来查看文本内容的改变 2,在文本框失去焦点后,清除定时器 下面是一个简单的例子 <!DOCTYPE html> <html&g ...
- (转)Ilist 和list的区别归纳总结
常见问题: Ilist <> 本身只是一个泛型接口, 既然是接口当然不能实例化,只能用如下方法 IList <Class1> IList11 =new List <Cla ...
- linq to ef(相当于sql中in的用法)查询语句
select * from DoctorInfo doctor where doctor.HosDepartId in (select Id from HospitalDepartment hd wh ...
- oracle进制转换
h2 { margin-top: 0.46cm; margin-bottom: 0.46cm; direction: ltr; line-height: 173%; text-align: justi ...