转自:http://blog.sina.com.cn/s/blog_70686f3a0101kemg.html

 首先,大家要明白什么是json,了解更多关于json方面资料大家可以点击https://www.ibm.com/developerworks/cn/web/wa-lo-json/ ,我在这里简单介绍下json:
    JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。
     在.NET环境下面,我们使用Json.net来实现JSON数据的序列化和反序列化。
     首先点击连接http://sourceforge.net/projects/csjson/?source=dlp 下载JSON .NET插件和代码。
     然后在项目中进行引用Newtonsoft.Json.dll
     添加命名空间:using Newtonsoft.Json;
     下面介绍json序列化和反序列化的放个重要方法和例子:
JsonConvert.SerializeObject(object value)序列化,它有个重载方法JsonConvert.SerializeObject(object value, params JsonConverter[] converters)。
JsonConvert.DeserializeObject(string value, Type type),反序列化,它有个重载方法JsonConvert.DeserializeObject(string value, Type type, params JsonConverter[]
converters)
这两个方法可以实现基本的序列化和反序列化要求,请看下面的例子:
首先我们先建一个Person类代码如下:
  public class Person
    {
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private int age;
        public int Age
        {
            get { return age; }
            set { age = value; }
        }
    }
1)序列化
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json;
 
namespace JSONnet
{
    public partial class test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Person person = new Person();
            person.Name = "GoldenEasy";
            person.Age = 25;
            string strSerializeJSON = JsonConvert.SerializeObject(person);
            Response.Write(strSerializeJSON);                     
        }
    }
}
输出结果:
{"Name":"GoldenEasy","Age":25}
2)反序列化
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json;
 
namespace JSONnet
{
    public partial class test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Person person = new Person();
            person.Name = "GoldenEasy";
            person.Age = 25;
            string strSerializeJSON = JsonConvert.SerializeObject(person);           
            Person user = (Person)JsonConvert.DeserializeObject(strSerializeJSON, typeof(Person));
            Response.Write(user.Name);
         
        }
    }
}
输出结果为:GoldenEasy

c# 在.NET使用Newtonsoft.Json转换,读取,写入json的更多相关文章

  1. 在.NET使用Newtonsoft.Json转换,读取,写入json

    首先,大家要明白什么是json,了解更多关于json方面资料大家可以点击https://www.ibm.com/developerworks/cn/web/wa-lo-json/ ,我在这里简单介绍下 ...

  2. Asp.Net中使用Newtonsoft.Json转换,读取,写入

    using Newtonsoft.Json;using Newtonsoft.Json.Converters; //把Json字符串反序列化为对象目标对象 = JsonConvert.Deserial ...

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

    全局引用 using Newtonsoft.Json; using Newtonsoft.Json.Converters; //把Json字符串反序列化为对象 目标对象 = JavaScriptCon ...

  4. 19.JAVA-从文件中解析json、并写入Json文件(详解)

    1.json介绍 json与xml相比, 对数据的描述性比XML较差,但是数据体积小,传递速度更快. json数据的书写格式是"名称:值对",比如: "Name" ...

  5. C++简单使用Jsoncpp来读取写入json文件

    一.源码编译 C++操作json字符串最好的库应该就是jsoncpp了,开源并且跨平台.它可以从这里下载. 下载后将其解压到任意目录,它默认提供VS2003和VS2010的工程文件,使用VS2010可 ...

  6. python 数据写入json文件时中文显示Unicode编码问题

    一.问题描述 import json dir = { '春晓':'asfffa', '春眠不觉晓' : '处处闻啼鸟', '夜来风雨声' : 56789, 'asdga':'asdasda' } fp ...

  7. Newtonsoft.Json 转换DateTime类型为字符串时,串内部会有一个T。解决方案

    使用Newtonsoft.Json 转换DateTime类型时,若使用标准转换,则字符串内会有一个T(虽然再转换成DateTime没有问题). 若要转换成DateTime没有T,可以加上特性: pub ...

  8. Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty

    原文:Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty public class NullToEmptyStringResolver : De ...

  9. [转] JSON转换

    转载自:http://www.360doc.com/content/12/0413/14/9529755_203286509.shtml# JSON简介 JSON(JavaScript Object ...

随机推荐

  1. 采用Tensorflow内部函数直接对模型进行冻结

    # enhance_raw.py # transform from single frame into multi-frame enhanced single raw from __future__ ...

  2. 2015-11-03 ado.net3

    DataReader和DateSet区别: 1. DataReader是一行一行的读,且只能向前读.DateSet是一次性读取出来放到内存中,所以,DataReader读取速度更快,占用内存更低. 2 ...

  3. Node.js知识点总结

    1. 回调函数 当程序跑起来时,一般情况下,应用程序(application program)会时常通过API调用库里所预先备好的函数.但是有些库函数(library function)却要求应用先传 ...

  4. 使用monitor.bat用DDMS查看其它项目的布局

    查看结果

  5. GPS文件中的C1--->P1转换

    美国的NOAA的Jim Ray开发了一个小工具,专门用来将互相关技术实现的观测量(C1,P2‘)转换成与Y-codeless观测量(P1,P2)相适应的观测量,方便将多个站的观测资料进行整合,校正了C ...

  6. crontab 每分钟、每小时、每天、每周、每月、每年执行

    每分钟执行 * * * * * 每小时执行 0 * * * * 每天执行 0 0 * * * 每周执行 0 0 * * 0 每月执行 0 0 1 * * 每年执行 0 0 1 1 * 每小时的第3和第 ...

  7. angular ,require.js, angular-async-loader实现单页面路由,控制器js文件分离

    https://github.com/heboliufengjie/appRoute/tree/re re 分支,实现,路由配置,控制器js文件分离

  8. 为虚机Linux系统设置静态IP,ping通外网并解决相关问题

    在虚机中安装完Linux系统后,虚机是ping不通外网的,而默认的动态IP会为之后的Hadoop应用造成不少麻烦,为了减少这些不必要的麻烦,我们把系统的IP设置为静态. 步骤: 修改系统配置文件 命令 ...

  9. Day5_Py模块_1

    1. time & datetime模块 ----------------------------------------------------------- >>> im ...

  10. 静态方法和实例方法(mark)

    借花献佛[转自 ivony's blog] 关于静态方法和实例方法的一些误区. 一.    静态方法常驻内存,实例方法不是,所以静态方法效率高但占内存.     事实上,方法都是一样的,在加载时机和占 ...