json的使用(JObect,JsonData,JArray)
- JObect与JsonData的区别
JsonData是JObect的简化版本
2.转换过程容易出的bug
JsonData:当里面存在null就无法转换
解决方案: JsonData teamjd = JsonMapper.ToObject(FindDoctor("0",orgID).Replace(":null", ":\"\"")); //将JsonData中的null替换为“”
JObect :转化为JObect失败
解决方案:失败原因是转化对象是数组要转换为JArray JArray jArray=JArray.Parse(str);
JObect :jArray[0]不能直接转换为JObect
解决方案:JObject jObject = jArray[0] as JObject;
JObect:当JObect对象内部存在数组无法通过Count取值
解决方案:
foreach (JToken field in jObject["data"]["doctors"])
{
if ((field["name"].ToString()).Equals(docName.Trim()))
{
doctorid = field["id"].ToString();
break;
}
}
3.判断json值为空
JObect: jb.ToString().Equals("") 若不为空就会返回jsonObect
JsonData : jd.Count==0
4.json对象的转换
JsonData :当内部存在数组
json["userFamilyHistory"] = new JsonData();
json["userFamilyHistory"].SetJsonType(JsonType.Array);
json["userFamilyHistory"].Add(userFamilyHistory);
JObect:当内部存在数组
List<JObject> listHistory = new List<JObject>();
Object other = new JObject();
...............
listHistory.Add(other);
jObject.Add(new JProperty("history", listHistory));
注意:JsonConvert.SerializeObject() 可以将类,datatable直接转化为json字符串
5.对json应用的小技巧
//根据json创建表 private void createTable(JArray jArray,string tabName)
{
JObject jObject = jArray[0] as JObject;
//配置签约表
DataTable signTb = new DataTable(tabName);
foreach(var item in jObject)
signTb.Columns.Add(item.Key); foreach (JObject obj in jArray)
{
DataRow newrow = signTb.NewRow();
foreach (var item in obj)
{
newrow[ item.Key ] = item.Value;
}
signTb.Rows.Add(newrow);
}
CommonRse.ds[tabName] = signTb.Copy();
}
json的使用(JObect,JsonData,JArray)的更多相关文章
- JObject 用法 、JProperty 用法、JArray 用法 Linq 转 Json
1.使用LINQ to JSON前,需要引用Newtonsoft.Json的dll和using Newtonsoft.Json.Linq的命名空间.LINQ to JSON主要使用到JObject, ...
- JSON转化为JAVABEAN集合
String str = "[{'id':'392','type':'jpg'},{'id':'393','type':'jpg'},{'id':'377','type':'jpg'}]&q ...
- ASP.NET提取多层嵌套json数据的方法
本文实例讲述了ASP.NET利用第三方类库Newtonsoft.Json提取多层嵌套json数据的方法,具体例子如下. 假设需要提取的json字符串如下: {"name":&quo ...
- .net(c#)提取多层嵌套的JSON
Newtonsoft.Json.Net20.dll 下载请访问http://files.cnblogs.com/hualei/Newtonsoft.Json.Net20.rar 在.net 2.0中提 ...
- c#多层嵌套Json
Newtonsoft.Json.Net20.dll 下载请访问http://files.cnblogs.com/hualei/Newtonsoft.Json.Net20.rar 在.net 2.0中提 ...
- C#解析json的两种方式
C#中Json转换主要使用的几种方法! 这篇主要介绍2.4.第三种方法使用的比较局限,所以我没有深入学习. 第二种方法 我使用比较多的方式,这个方法是.NET内置的,使用起来比较方便 A.利用seri ...
- 提取多层嵌套Json数据
在.net 2.0中提取这样的json {"name":"lily","age":23,"addr":{"ci ...
- 详解ASP.NET提取多层嵌套json数据的方法
本篇文章主要介绍了ASP.NET提取多层嵌套json数据的方法,利用第三方类库Newtonsoft.Json提取多层嵌套json数据的方法,有兴趣的可以了解一下. 本文实例讲述了ASP.NET利用第三 ...
- js Form表单转json格式,及后台接收(多种方法)
转载:https://blog.csdn.net/qq_40138785/article/details/81533015 一.serialize()方法格式:var data = $("# ...
随机推荐
- .net图表之ECharts随笔08-bar柱状图
之前一直都是跟着修改demo,感觉用得很吃力,现在结合上配置手册就好很多了,其实说到底就是参数的配置,所以配置手册尤为重要. 当然,这其中还是很多坑,希望可以找到对应的解决方案吧!!! 1. tool ...
- 纸壳CMS 3.0升级.Net Core 2.1性能大提升
微软发布了.Net Core 2.1正式版,纸壳CMS也在第一时间做了升级,并做了一系列的优化和调整,性能大幅提升,并解决了一些历史遗留问题,添加了一些新功能. Github https://gith ...
- ANE-如何加入ane,调试时又不报错
有时候我们加入ane,即使没有调用ane的功能,debug的时候也会报错无法调试,这是为什么呢?因为我们的ane没有把default包含进去. 首先我们的extension.xml要把default节 ...
- iOS Keychain 跨应用
Keychain 可以用来持久保存一些信息.通常每个应用都有自己的 Keychain Access.但有时你会需要多个应用共用一些信息.这时需要创建 Keychain Access Group. Ke ...
- Nova 通过Python API 查询,创建,删除flavor
[root@controller ~]# cat flavor.py from novaclient import client as nvclient from novaclient import ...
- django系列1--介绍与简单原理, wsgiref模块
一.web应用框架 Web应用框架(Web application framework)是一种计算机软件框架,用来支持动态网站.网络应用程序及网络服务的开发.这种框架有助于减轻网页开发时共通性活动的工 ...
- AcWing 143. 最大异或对
https://www.acwing.com/problem/content/145 #include <iostream> #include <algorithm> usin ...
- ORM的查询操作
查询的分类 class Author(models.Model): name = models.CharField(max_length=32) age = models.IntegerField() ...
- java_I/O字节流
I/O流(Stream) INPUT:输入流,从文件里读OUPUT:输出流,写内容到文件 IO流分为:字符流和字节流 字符流:处理纯文本文件. 字节流:处理可以所有文件. 测试字节输出流OuPut(写 ...
- Centos7.4下安装Redis5.0
一.下载Redis Redis下载地址:https://redis.io/download 二.安装依赖包 安装Redis之前需要安装c++命令 yum install gcc-c++ 三.上传并解压 ...