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的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
随机推荐
- 为Android安装BusyBox
大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽.是否想过在 Android上使用较完整的she ...
- 【剑指Offer学习】【面试题19 :二叉树的镜像】
题目:请完毕一个函数,输入一个二叉树,该函数输出它的镜像. 二叉树结点的定义: /** * 二叉树的树结点 */ public static class BinaryTreeNode { int va ...
- 选择排序、插入排序、冒泡排序python实现
选择排序的时间复杂度为O(n^2),是不稳定的排序 冒泡排序的时间复杂度最好情况下为O(n),最坏情况下为O(n^2),平均情况下为O(n^2),是稳定的排序 插入排序的时间复杂度最好情况下为O(n) ...
- sharepoint 2013 更改搜索server组态
1.新搜索server在.安装sharepoint server 2013,并连接到一个现有的sharepoint server领域,完成后.您可以配置新的搜索server. 打开sharepoint ...
- [Android]使用platform密钥来给apk文件签名的命令
1.使用platform密钥对apk进行签名 1.1.进入<Android_Source_Path>/build/target/product/security,找到[platform.p ...
- 标准I/O之实现细节
在UNIX系统中,标准I/O库最终都要调用文件I/O(read.write等).每个标准I/O流都有一个与其相关联的文件描述符,可以对一个流调用fileno函数以获得其描述符. 注意,fileno不是 ...
- php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库
1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo mysql扩展库与mysql数据库 ...
- Java Inner class
2016-03-27 内部类:就是把一个类的定义放在另外一个外围类定义的里面. class OutterClass{ class InnerClass { } } 1. 内部类主要有四种:成员内部类( ...
- Nginx高性能服务器安装、配置、运维 (3) —— Nginx配置详解
四.Nginx 配置详解 YUM方式安装的Nginx默认配置文件放在/etc/nginx目录下,使用Vim编辑/etc/nginx/nginx.conf: ---------------------- ...
- 在iframe中获取父页面的元素
a.html <!DOCTYPE html> <html> <head> <title></title> </head> < ...