用Newtonsoft将json串转为对象的方法(详解)
首先,将json串转为一个JObject对象:
|
|
|
这个JObject是一个“值对”类型,比如说我们的json串是这样:
{ "rows":[ [ {"NumIid":"001"}, {"PicUrl":"xxx.png"}, {"Title":"xxxxx"}, {"Price":"xxx"}, {"OuterId":"xxxx"} ], [ {"NumIid":"002"}, {"PicUrl":"xxx.png"}, {"Title":"xxxxx"}, {"Price":"xxx"}, {"OuterId":"xxxx"} ], [ {"NumIid":"003"}, {"PicUrl":"xxx.png"}, {"Title":"xxxxx"}, {"Price":"xxx"}, {"OuterId":"xxxx"} ] ]}|
|
那么可以jo["rows"]就是一个数组,如果这个反之如果不是数组可能是一个对象,那么我们根据他实际是一个什么值来进行强制转换。
以上面这个json串为例,我们这样取到这个数组:
JArray arr = (JArray)jo["rows"];
我们发现这个数组里面还是一个数组,而里层数组里面才是一个object,那么我们可以这样取:
for (int i = 0; i < arr.Count; i++) { JArray arr2 = (JArray)arr[i]; for (int j = 0; j < arr2.Count; j++) { JObject obj = (JObject)arr2[j]; Response.Write(obj["NumIid"]); Response.End(); } }|
|
如果实际是一个数组,我们就用JArray强制转换,如果实际是一个值对,我们就用JObject强制转换。
最后一层应该是一个值对类型的object,怎么把这些值全部取出来?
最后应该是形如:
{"NumIid":"003"}
取值很简单,直接:
string str=obj["NumIid"];
问题是有时候这个obj是这样的:
{"PicUrl":"xxx.png"}
而且你不知道他什么时候是什么。
这时应该这样取:
foreach (KeyValuePair<string, JToken> kp in obj) { Response.Write(kp.Key); Response.Write("="); Response.Write(kp.Value); Response.End(); }|
|
|
以上这篇用Newtonsoft将json串转为对象的方法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
用Newtonsoft将json串转为对象的方法(详解)的更多相关文章
- Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解
Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解 一.Jquery遍历筛选数组 1.jquery grep()筛选遍历数组 $().ready( function(){ v ...
- Java构造和解析Json数据的两种方法详解二
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...
- Java构造和解析Json数据的两种方法详解二——org.json
转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html 在www.json.org上公布了很多JAVA下的jso ...
- Java构造和解析Json数据的两种方法详解一——json-lib
转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/23/3096001.html 在www.json.org上公布了很多JAVA下的jso ...
- JSON.parse()与JSON.stringify()和eval()使用方法详解
在和后端对接口的时候,遇到了一个问题 就是series里面数据变量进行拼接的时候,data数据里面全部是数值int类型的 但是因为某些需求需要让他进行某个数据之前的数据都为空 我试过用空字符串和und ...
- JSP数据交互——九大内置对象及其方法详解(一)
①既然说到JSP内置对象,那么什么是JSP内置对象呢? 解析:JSP内置对象,就是在编写JSP页面时,不需要做任何声明就可以直接使用的对象. 如下代码片段: <% int[] value ...
- CorelDRAW中六种复制对象的方法详解
复制可保证对象的大小一致,复制也是所有操作中最基本的操作.CorelDRAW软件中支持多种复制对象的操作,本教程将详解CorelDRAW中六种复制对象的方法. 方法一 选择复制对象,点击编辑→复制,再 ...
- window对象open方法详解
window.open详解 window.open("sUrl","sName","sFeature","bReplace&quo ...
- Java构造和解析Json数据的两种方法详解一
一.介绍 JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包,主要就是用来解析Json数据,在其官网http://www.js ...
随机推荐
- activeMQ队列模式和主题模式的Java实现
一.队列模式 生产者 import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destina ...
- AC日记——封锁阳光大学 洛谷 P1330
封锁阳光大学 思路: bfs染色: 如果当前点能通往已染色的点则不能完成: 图不一定联通: 来,上代码: #include <queue> #include <cstdio> ...
- iOS--子视图如何穿透上层视图响应事件
一.使用方法:- (nullable UIView *)hitTest:(CGPoint)point withEvent:(nullable UIEvent *)event; 二.背景知识iOS系统检 ...
- Java IO 学习(四)BIO/NIO
本文会尝试介绍Java中BIO与NIO的范例与原理 使用的模型非常简单:服务器--客户端模型,服务器会将客户端发送的字符串原样发回来.也就是所谓的echo server. BIO 也就是所谓的Sock ...
- protobuf3 语法解析
定义一个消息类型 先来看一个非常简单的例子.假设你想定义一个“搜索请求”的消息格式,每一个请求含有一个查询字符串.你感兴趣的查询结果所在的页数,以及每一页多少条查询结果.可以采用如下的方式来定义消息类 ...
- iOS网络交互数据格式解析之json
作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式.从ios5开 始,apple提供了对json的原生支持,但为了兼容以前的ios版本,我们仍然需要使用第三方库来解析常用 ...
- Git之Github使用(一):Push代码到Github
Git之Github使用(一):Push代码到Github 热度 2已有 58 次阅读2016-8-26 17:56 |个人分类:常见问题|系统分类:移动开发| 互联网, commit, status ...
- POJ 2128:Highways
Highways Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 2730 Accepted: 1008 Specia ...
- testNG配置dataSource多数据源
spring的XML配置好之后,运行testNG还会出问题. 搞定代码如下: /** * 基于Spring的服务层测试超类 * * @author chief */ @ContextConfigura ...
- [转]MySQL的简单使用和JDBC示例
MySql简单操作 //启动mysql net start mysql //登陆 mysql -u root -p //创建建数据库 create database mydb; create data ...