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

首先,大家要明白什么是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

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

时间: 2024-12-15 06:58:13

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

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

转自: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

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

using Newtonsoft.Json; using Newtonsoft.Json.Converters; //把Json字符串反序列化为对象 目标对象 = JsonConvert.DeserializeObject(JSON字符串, typeof(目标对象)); //把目标对象序列化为Json字符串 string Json字符串 = JsonConvert.SerializeObject(目标对象); 1.引用Newtonsoft.Json.dll 2.在项目中添加引用.. 序列化和反序

javaScript 中创建json/转换字符串为json

在js 中创建创建json 对象: 1.直接定义json 对象 var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thom

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

一.源码编译 C++操作json字符串最好的库应该就是jsoncpp了,开源并且跨平台.它可以从这里下载. 下载后将其解压到任意目录,它默认提供VS2003和VS2010的工程文件,使用VS2010可以直接打开makefiles\msvc2010目录下的sln文件. 工程文件提供Jsoncpp的win32和win64静态库生成.点击生成--批生成选择需要生成的配置后即可生成jsoncpp静态库.生成的文件在makefiles\msvc2010\(x64\)Debug(Release)\目录下.

配置文件通过读取json方式读取

json文件 { "mysql":{ "hosts":"localhost", "user":"root", "password":"admin", "port":3306, "dbname":"jfg", "chart":"utf-8" }, "redis&

Json.NET读取和写入Json文件

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using System.Text; using Newtonsoft.Json; using com.zjpx.model; using System.Collections; usin

比Newtonsoft.Json轻量快速简洁的实体JSON转换库YeaJur.Mapper

在使用MVC的时候,我们经常用到Newtonsoft.Json来进行实体和JSON 之间的转换,但是有时候,有些实体Newtonsoft.Json转换会出现异常.YeaJur.Mapper正是为了解决这些问题而来,并比Newtonsoft.Json轻量,转换速度快,使用简洁,测试结果如下 PK项 YeaJur.Mapper Newtonsoft.Json 版本 1.0 9.0.1 大小 6KB 514KB 实例(json格式) [ { "Products": [ { "Id&

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

使用Newtonsoft.Json 转换DateTime类型时,若使用标准转换,则字符串内会有一个T(虽然再转换成DateTime没有问题). 若要转换成DateTime没有T,可以加上特性: 1 public class TestClass 2 { 3 public TestClass() 4 { 5 Dt1 = Dt2 = new DateTime(1900, 1, 1, 0, 0, 0); 6 } 7 8 [JsonConverter(typeof(TcDateTimeConverter)

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

原文:Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty public class NullToEmptyStringResolver : DefaultContractResolver { /// <summary> /// 创建属性 /// </summary> /// <param name="type">类型</param> /// <param name="