JSON.NET(http://json.codeplex.com/)使用来将.NET中的对象转换为JSON字符串(序列化?),或者将JSON字符串转换为.NET中已有类型的对象(反序列化?)

反序列化:

一个json字符串如下:

{
"BasicResponse":{"Succeed":1},
"RTDataSets":[
{
"tag":"IPV_YX_102",
 "kksCode":"FEOSCOJODSKJOHKJFDBSINJKJSS05"
"RTDataValues":[
{
"Value":0.0,
"Time":0
}
]
},
       {
<pre name="code" class="html">        "tag":"IPV_YX_102",
 "kksCode":"FEOSCOJODSKJOHKJFDBSINJKJSS05"
"RTDataValues":[
{
"Value":0.0,
"Time":0
}
]
},

       .

       .

       .

]

 }


现在要得到kksCode和对应的Value:

      //将json字符串转换为对象   
      JObject jObject = (JObject)JsonConvert.DeserializeObject(getString);
<span style="font-family:System;">      //将RTDataSets的json数组转化为下一级json对象数组jar[]</span>
<span style="font-family:System;">     </span> JArray jar = JArray.Parse(jObject["RTDataSets"].ToString());
//对收到的字符串进行解析
//局部变量
string tampAdds;
double value;
// Dictionary<string, double> _dict = new Dictionary<string, double>();
// List<Dictionary<string, double>> _list = new List<Dictionary<string, double>>();
<span style="font-family:System;">      for (int j = i; j < (i + 1000); j++)
                 {
      //将JArray转化回JObject
     </span> JObject job = JObject.Parse(jar[i].ToString());
tampAdds = (string)job["kksCode"];
      //再将RTDataValues的json数组转化为下一级json对象数组jarr[]
JArray jarr = JArray.Parse(job["RTDataValues"].ToString());
<pre name="code" class="csharp"><span style="font-family:System;">      //再将JArray转化回JObject</span>

      JObject jobs = JObject.Parse(jarr[0].ToString());
      value = (double)(jobs["Value"]);
     }


具体JSON.NET的应用请点击该链接

具体提取多层嵌套的JSON,点击打开链接

JSON的简单使用之提取多层嵌套的JSON(C#)的更多相关文章

  1. .net(c#)提取多层嵌套的JSON

    Newtonsoft.Json.Net20.dll 下载请访问http://files.cnblogs.com/hualei/Newtonsoft.Json.Net20.rar 在.net 2.0中提 ...

  2. ASP.NET提取多层嵌套json数据的方法

    本文实例讲述了ASP.NET利用第三方类库Newtonsoft.Json提取多层嵌套json数据的方法,具体例子如下. 假设需要提取的json字符串如下: {"name":&quo ...

  3. 详解ASP.NET提取多层嵌套json数据的方法

    本篇文章主要介绍了ASP.NET提取多层嵌套json数据的方法,利用第三方类库Newtonsoft.Json提取多层嵌套json数据的方法,有兴趣的可以了解一下. 本文实例讲述了ASP.NET利用第三 ...

  4. 多层嵌套的json数据

    很多时候我们见到的json数据都是多层嵌套的,就像下面这般: {"name":"桔子桑", "sex":"男", , & ...

  5. js解析多层嵌套的json,取出所有父元素属性和遍历所有子元素

    已知一个多层嵌套的json,取出所有父元素和子元素的id值 思路:因为不知道到底嵌套了多少层,递归有可能造成栈溢出.查询时间特别久的问题 所以先查询一次,判断是否有子节点,如果有,取出子节点并到父节点 ...

  6. python中jsonpath模块,解析多层嵌套的json数据

    1. jsonpath介绍用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, ...

  7. 接口自动化多层嵌套的json数据处理

    最近在做接口自动化测试,响应的内容大多数是多层嵌套的json数据,在对响应数据进行校验的时候,可以通过(key1.key2.key3)形式获取嵌套字典值的方法获取响应值,再和预期值比较 def get ...

  8. 提取多层嵌套Json数据

    在.net 2.0中提取这样的json {"name":"lily","age":23,"addr":{"ci ...

  9. C# json提取多层嵌套到数组-- C# json 数组

    json比一般格式再复杂点的就像数组一样,有多层嵌套,研究了一下,记录代码如下: string jsonText = "{'name':'test','phone':'18888888888 ...

随机推荐

  1. InnoExtractor可以解压一些安装文件,以获得其中的特殊文件

    you can use InnoExtractor unpack the installer file and get uniSimpleEnc.dcu file. https://www.board ...

  2. ssh超时时间设置(设置ClientAliveInterval),附SSH超详细参数

    作者: daodaoliang 版本: V 0.0.1 日期: 2016年12月29日 0x00 OpenSSH 简介 OpenSSH是采用SSH协议实现的重要的远程连接工具,它对所有的数据进行加密以 ...

  3. python中的命名空间以及函数的嵌套

    一.动态传参 函数的形参中除了默认值参数和位置参数外,还有动态传参.当不确定形参有几个或者有很多的时候,就可以使用动态传参. 1.1 动态接收位置参数 在python中使用*来接收动态位置参数 def ...

  4. IO多路复用与异步非阻塞

    1.基于socket,发送http请求 import socket import requests # 方式一 list=['li','gh ','nn'] for i in list: ret=re ...

  5. java设计模式-原型(prototype)

    有时候创建对象是需要耗费很多资源,但是每个对象之间又有大量的重复.我们可以选择在创建好一个对象后,以之作为模板克隆出其他对象,稍作修改,即可用于其他地方. 需要实现Cloneable接口,重写clon ...

  6. Nginx学习笔记---服务与集群

    一.集群 什么是集群 服务器架构集群:多台服务器组成的响应式大并发,高数据量访问的架构体系. 特点: (1)成本高 (2)能够降低单台服务器的压力,使用流量平均分配到多台服务器 (3)使网站服务架构更 ...

  7. 【win10家庭版】删除文件提示没有权限最简单的方式(已验证)

    趁着618入了新本本,预装了家庭普通版Win10,但是实际使用中遇到了一些问题.问题不大,但是着实反人类,在此吐槽! 问题: 首先,进入系统会提示你建一个账号,建立完成登录系统.本账户拥有Admini ...

  8. ThinkPHP判断post,get操作

    define('REQUEST_METHOD',$_SERVER['REQUEST_METHOD']); define('IS_GET', REQUEST_METHOD =='GET' ? true ...

  9. Centos7.6 双网卡,修改默认路由

    centos修改默认路由 需求:服务器有两个网卡,一个是内网网卡,一个是外网网卡,但是默认的路由是内网: route -n 列出所有路由: 删除默认的路由: route del default gw ...

  10. 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数 例如给定nums = [2,7,11,15],target = 9

    python解决方案 nums = [1,2,3,4,5,6] #假如这是给定的数组 target = 9 #假如这是给定的目标值 num_list = [] #用来装结果的容器 def run(nu ...