c#添加Newtonsoft.Json包的操作

C#使用json

点击工具 - NuGet包管理器 - 程序包管理控制台,输入下面命令:

Install-Package Newtonsoft.Json

即可使用Newtonsoft.Json 包进行json操作

PM> Install-Package Newtonsoft.Json

正在尝试收集与目标为“.NETFramework,Version=v4.0”的项目“QiniuTests”有关的包“Newtonsoft.Json.11.0.2”的依赖项信息

收集依赖项信息花费时间 24.27 ms

正在尝试解析程序包“Newtonsoft.Json.11.0.2”的依赖项,DependencyBehavior 为“Lowest”

解析依赖项信息花费时间 0 ms

正在解析操作以安装程序包“Newtonsoft.Json.11.0.2”

已解析操作以安装程序包“Newtonsoft.Json.11.0.2”

从“nuget.org”检索包“Newtonsoft.Json 11.0.2”

 GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/11.0.2/newtonsoft.json.11.0.2.nupkg
 OK https://api.nuget.org/v3-flatcontainer/newtonsoft.json/11.0.2/newtonsoft.json.11.0.2.nupkg 98 毫秒

正在安装 Newtonsoft.Json 11.0.2。

正在将程序包“Newtonsoft.Json.11.0.2”添加到文件夹“C:\Users\yfj\Desktop\qiniu\qiniu-sdk\csharp-sdk\src\packages”

已将程序包“Newtonsoft.Json.11.0.2”添加到文件夹“C:\Users\yfj\Desktop\qiniu\qiniu-sdk\csharp-sdk\src\packages”

已将程序包“Newtonsoft.Json.11.0.2”添加到“packages.config”

已将“Newtonsoft.Json 11.0.2”成功安装到 QiniuTests

执行 nuget 操作花费时间 3.39 sec

已用时间: 00:00:04.4618228

PM>

补充:【解决方案】C#使用Newtonsoft解析JSON字符串

在很多涉及到网络通讯的地方,往往会用到JSON,初次接触这个东西,真的很令人头痛。不过有了Newtonsoft,这一切就变得出奇地简单:

现在有下面一段JSON,如何解析呢?

{
 "class": "apiClass",
 "cmd": "apiCommand",
 "param": {
 "param1": "param1",
 "param2": "param2"
 },
 "jarray": [
 {
  "arr1": "this is arr1"
 },
 {
  "arr1": "this is arr2"
 }
 ]
}

1、提取cmd的值

JObject jObject = JObject.Parse(JSON字符串);
String cmd=jObject["cmd"].ToString();

是不是超级简单?

2、提取param1的值

JObject jObject = JObject.Parse(JSON字符串);
String param1=jObject["param"]["param1"].ToString();

是不是一样超级简单?

3、提取数组中第一项arr1的值,index=1

JObject jObject = JObject.Parse(JSON字符串);
String arr1=jObject["jarray"][1]["arr1"].ToString();

把数据中每一个都取出来一下

JObject jObject = JObject.Parse(JSON字符串);
JArray jArray=JArray.Parse(jObject["jarray"].ToString());
foreach(var arr in jArray)
{
 JObject jObj = JObject.Parse(arr.ToString());
 String arr1=jObj["arr1"].ToString();
}

4、如果某个Key不存在,怎么办呢?

JObject jObject = JObject.Parse(JSON字符串);
if (jObject.Property("我的Key") != null)
{
 String 我的Key= jObject["我的Key"].ToString();
}
else
{
 //我的Key不存在
}

好啦,现在看到这里,Newtonsoft,应该都会用啦。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • c# Newtonsoft 六个值得使用的特性(下)

    一:讲故事 上一篇介绍的 6 个特性从园子里的反馈来看效果不错,那这一篇就再带来 6 个特性同大家一起欣赏. 二:特性分析 1. 像弱类型语言一样解析 json 大家都知道弱类型的语言有很多,如: nodejs,python,php,它们有一个

  • c# Newtonsoft 六个值得使用的特性(上)

    一:讲故事 看完官方文档,阅读了一些 Newtonsoft 源码,对它有了新的认识,先总结 六个超经典又实用的特性,同大家一起分享,废话不多说,快来一起看看吧~~~ 二:特性分析 1. 代码格式化 如果你直接使用 JsonConvert.SerializeObject的话,默认情况下所有的json是挤压在一块的,特别不方便阅读,如下所示: static void Main(string[] args) { var reportModel = new ReportModel() { Product

  • C# Newtonsoft.Json 的使用说明

    我就废话不多说啦,大家还是直接看代码吧~ byte[] bUserInfoSearch = new byte[1024 * 10]; //10kb大小 Marshal.Copy(lpBuffer, bUserInfoSearch, 0, bUserInfoSearch.Length); string strUserInfoSearch = System.Text.Encoding.UTF8.GetString(bUserInfoSearch); CUserInfoSearch m_JsonUse

  • c#添加Newtonsoft.Json包的操作

    C#使用json 点击工具 - NuGet包管理器 - 程序包管理控制台,输入下面命令: Install-Package Newtonsoft.Json 即可使用Newtonsoft.Json 包进行json操作 PM> Install-Package Newtonsoft.Json 正在尝试收集与目标为".NETFramework,Version=v4.0"的项目"QiniuTests"有关的包"Newtonsoft.Json.11.0.2&quo

  • JQuery EasyUI学习教程之datagrid 添加、修改、删除操作

    一篇关于JQueryEasyUI学习之datagrid 添加.修改.删除 学习笔记教程有需要了解的朋友可参考本的笔记,批量删除,双击表单修改.选中行修改,增加行修改,再有就是扩展editor的方法,无需废话,直接上代码,代码中的注释写的很详细 <script type="text/javascript" charst="utf-8">var editFlag = undefined;//设置一个编辑标记 //因为layout框架指向href时,只取htm

  • Python3.x对JSON的一些操作示例

    前言 本文主要给大家介绍了关于python3对JSON的一些操作,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.Dictionary 转为JSON 将dict转为JSON,这里利用包json import json aItem = {} aItem["id"] = "2203" aItem["title"] = "title" aItem["subTitle"] = "su

  • 在.NET中使用Newtonsoft.Json转换,读取,写入的方法介绍

    全局引用 using Newtonsoft.Json; using Newtonsoft.Json.Converters; //把Json字符串反序列化为对象 目标对象 = JavaScriptConvert.DeserializeObject(JSON字符串, typeof(目标对象)); //把目标对象序列化为Json字符串 stringJson字符串 = JavaScriptConvert.SerializeObject(目标对象); 1.引用Newtonsoft.Json.dll: 2.

  • 详谈Java中net.sf.json包关于JSON与对象互转的坑

    在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介绍在Java中JSON与对象之间互相转换时遇到的几个问题以及相关的建议. 首先明确对于JSON有两个概念: JSON对象(JavaScript Object Notation,JavaScript对象表示法).这看似只存是位JavaScript所定制的,但它作为一种语法是独立于语言以及平台的.只是说

  • 详解javascript对数组和json数组的操作

    经常使用javascript对数组和json数组进行操作,但是时间久了就忘记咋操作的了,所以这里简单记录一下 直接看代码吧 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>javascript数组操作</title> <script type="application/javascript

  • JS根据json数组多个字段排序及json数组常用操作

    js 根据json数组多个字段排序的实现代码如下所示: /**数组根据数组对象中的某个属性值进行排序的方法 * 使用例子:newArray.sort(sortByArr(['number'],false)) //表示根据number属性降序排列;若第二个参数不传递,默认表示升序排序 * @param attr 排序的属性 ['name','sex'...],根据一个字段或者多个字段排序 * @param rev true表示升序排列,false降序排序 * */ function sortByA

  • java实现Xml与json之间的相互转换操作示例

    本文实例讲述了java实现Xml与json之间的相互转换操作.分享给大家供大家参考,具体如下: 旁白: 最近关于xml与json之间的转换都搞蒙了,这里写一个demo,以后备用. 正题: project格式是: jar包是一个一个检出来的,还算干净了. 代码: 工具类: package exercise.xml; import net.sf.json.JSON; import net.sf.json.JSONSerializer; import net.sf.json.xml.XMLSerial

  • json数据格式常见操作示例

    本文实例讲述了json数据格式常见操作.分享给大家供大家参考,具体如下: json数据格式 第一种,对象形式 <script> //var json3={name:"longzhoufeng",age:123}//第一种方式 var json3={"name":"longzhoufeng","age":123}//推荐这种方式,加引号,安全性高一点,转换格式好一些 for( var attr in json3){

  • 在Android源码中编译出指定jar包的操作

    今天想把android源码/vendor/letv/frameworks/base/java下的源码编译成 framework-letv.jar供乐乐语音客户端使用,编译完后,发现jar包文件虽然生成了,但包里面并没有相关的源码class文件,无法正常使用. 经过请教加研究发现,Android.mk文件需要添加选项如下: 54 LOCAL_JACK_ENABLED := disabled # important! 55 #include $(BUILD_JAVA_LIBRARY) 56 incl

随机推荐