JSON

C#操作JSON学习(2)

字号+ 作者:H5之家 来源:H5之家 2017-08-01 16:03 我要评论( )

JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的

JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。

在.NET环境下面,我们使用Json.net来实现JSON数据的序列化和反序列化。

首先点击连接?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

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以下文章转载 #generateJSON

C#操作JSON

RestAPI中, 经常需要操作json字符串,  需要把json字符串"反序列化"成一个对象, 也需要把一个对象"序列化"成一字符串。

C# 操作json,  比较简单。  本文介绍几种方法

步骤

Json 字符串 反序列化成对象 共需要2步:

第一步:建立相应的实体类

第二步: 调用方法把Json字符串"反序列化"成对象

了解json的语法

首先要了解json的语法,这样才能知道怎么创建实体类.

Json 的语法很简单, 就四条

创建实体类的例子 {"FirstName":"小坦克","LastName":"Tank","Age":30}

相应的实体类可以为

public class Person { public String FirstName { get; set; } public String LastName { get; set; } public int Age { get; set; } } 自动生成JSON的实体类

一个复杂的实体类,我们自己去写的话,可能需要1个小时以上。 那有没有工具能直接生成实体类呢,这样能方便太多了。  当然有

----开源的winform工具。

使用第三方工具 Newtonsoft.Json.dll

优点:  使用非常方便.   看个例子就知道怎么用了

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 【源码分析】cJSON库学习

    【源码分析】cJSON库学习

    2017-08-01 18:00

  • 【转】JMeter学习(三十五)使用jmeter来发送json

    【转】JMeter学习(三十五)使用jmeter来发送json

    2017-08-01 16:02

  • Java 处理 JSON

    Java 处理 JSON

    2017-08-01 14:08

  • jquery ajax json 综合应用实例

    jquery ajax json 综合应用实例

    2017-08-01 14:07

网友点评
>