Newtonsoft.Json是一个开源的C#操作json的项目,应用起来非常简单。其github地址;

下面的代码演示了如何应用Newtonsoft.Json序列号和反序列化。

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
namespace JsonNetDemo
{
class Program
{
static void Main(string[] args)
{
List<Project> pList = new List<Project>();
Project p = new Project();
p.TestSystemList = new List<TestSystem>();
p.entrustCellphone = "12";
p.entrustName = "12";
p.entrustUnit = "12";
p.goodsModel = "12";
p.pid = 34199;
p.productionCellphone = "12";
TestSystem t = new TestSystem();
t.eid = 78611;
t.name = "5.8G无线局域网(移动终端)";
p.TestSystemList.Add(t);
pList.Add(p);
var json = JsonConvert.SerializeObject(pList);
Console.WriteLine(json);
Console.Read();
string s = "[{\"productionCellphone\":\"12\",\"entrustCellphone\":\"12\",\"entrustUnit\":\"12\",\"pid\":34199,\"goodsModel\":\"12\",\"entrustName\":\"12\",\"TestSystemList\":[{\"eid\":78611,\"name\":\"5.8G无线局域网(移动终端)\"}]}]";
var ret = JsonConvert.DeserializeObject<List<Project>>(s);
Console.WriteLine(ret.Count);
Console.Read();
}
}
class Project
{
public string productionCellphone { get; set; }
public string entrustCellphone { get; set; }
public string entrustUnit { get; set; }
public long pid { get; set; }
public string goodsModel { get; set; }
public string entrustName { get; set; }
public List<TestSystem> TestSystemList { get; set; }
}
class TestSystem
{
public long eid { get; set; }
public string name { get; set; }
}
}

C#应用Newtonsoft.Json操作json的更多相关文章

  1. Newtonsoft.Json 操作 JSON 字符串

    Newtonsoft.Json介绍 在做开发的时候,很多数据交换都是以json格式传输的.而使用Json的时候,我们很多时候会涉及到几个序列化对象的使用:DataContractJsonSeriali ...

  2. C#应用Newtonsoft.Json操作json[2]-反序列化不定类型

    在读json时,有时不知道对方的数据类型是什么样的,本文用Newtonsoft,把json反序列化为List>,在某种情况下还是有用的. private static List<Dicti ...

  3. json操作json类型转换

    前提是需要加Jar包: gson-2.2.2.jar package utils; import java.io.BufferedReader;import java.io.FileInputStre ...

  4. 使用 Newtonsoft.Json 操作 JSON 字符串

    一.把实体类转化为 JSON 字符串 1. 为实体类赋值 SenderFromMQSearch senderFromMQSearch = new SenderFromMQSearch(); sende ...

  5. 基于 Vue.js 之 iView UI 框架非工程化实践记要 使用 Newtonsoft.Json 操作 JSON 字符串 基于.net core实现项目自动编译、并生成nuget包 webpack + vue 在dev和production模式下的小小区别 这样入门asp.net core 之 静态文件 这样入门asp.net core,如何

    基于 Vue.js 之 iView UI 框架非工程化实践记要   像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引 ...

  6. C#使用Newtonsoft.Json操作json

    1.下载 Newtonsoft.Json 右键引用,选择 管理NuGet程序包,选择浏览,输入log4net,然后点击下载 2.json数据的组装与解析 public class Class { pu ...

  7. JSON和GSON操作json数据

    1,JSON操作json import net.sf.json.JSONArray; import net.sf.json.JSONObject; //json操作数据 public static S ...

  8. SqlServer 操作 JSON

    SqlServer 操作 JSON Intro Sql Server 从 2016 开始支持了一些 json 操作,最近的项目里也是好多地方直接用字段直接存成了 json ,需要了解一下怎么在 Sql ...

  9. js中的json操作

    js中的json操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScr ...

随机推荐

  1. [HDOJ2818]Building Block(带权并查集,路径压缩)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2818 题意:有N个块,每次有两个操作: M x y表示把x所在的那一堆全部移到y所在的那一堆的下方. ...

  2. java实现DES算法

    import java.util.UUID; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypt ...

  3. SQL复制表及表结构

    复制表结构和数据SQL语句 1:复制表结构及数据到新表 select * into 目的数据库名.dbo.目的表名 from 原表名 select * into my0735home.dbo.info ...

  4. MDEV Primer

    /************************************************************************** * MDEV Primer * 说明: * 本文 ...

  5. .Net中的各种序列化

    我们知道将对象的状态保持在存储媒体中,以便可以在以后重新创建精确的副本这正是数据持久化所要做的.而且,不同应用程序之间的通讯需要相互传输数据.那么序列化和反序列化正是为此而生. 序列化和反序列化 所谓 ...

  6. Java 如何防止线程意外中止

    Thread的run方法是不抛出任何检查型异常(checked exception)的,但是它自身却可能因为一个异常而被终止,导致这个线程的终结.最麻烦的是,在线程中抛出的异常即使使用try...ca ...

  7. Android-判断当前网络是否可用

    1.声明权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 2. ...

  8. Map/Reduce之间的Partitioner接口

    一.Partitioner介绍 Partitioner的作用是对Mapper产生的中间结果进行分片,以便将同一分组的数据交给同一个Reduce处理,它直接影响Reduce阶段的负载均衡(个人理解:就是 ...

  9. 认识Java虚拟机的内部体系结构、gc示例

    认识Java虚拟机的内部体系结构 Java虚拟机的内部体系结构也许很少有人去关心,因为对于Java程序员来说,一般只需要跟API打交道就可以了.这些体系结构只是Java虚拟机内部的结构而已.但是如果理 ...

  10. Redis常用命令手册:服务器相关命令

    Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一 ...