.NET中JSON的序列化和反序列化的3种方式
2021-03-30 07:25
标签:其他 小知识 java mes 命名空间 json2 string thread ret 首先普及一下小知识: JSON 和 JS 对象互转 要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法: 要实现从 JSON 转换为对象,使用 JSON.parse() 方法: 下面是提供Demo 测试代码编写: 尽量使用JSON.NET方式来序列化和反序列化,性能好。 .NET中JSON的序列化和反序列化的3种方式 标签:其他 小知识 java mes 命名空间 json2 string thread ret 原文地址:https://www.cnblogs.com/Vinkong/p/12599013.htmlvar json = JSON.stringify({a: ‘Vinkong‘, b: ‘Sky‘}); //结果是 ‘{"a": "Vinkong", "b": "Sky"}‘
var obj = JSON.parse(‘{"a": "Vinkong", "b": "Sky"}‘); //结果是 {a: ‘Vinkong‘, b: ‘Sky‘}
建立一个Student类using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
namespace ConsoleApplication1
{
[DataContract]//DataContractJsonSerializer方式必须加的契约
class Student
{
private string Name;
[DataMember]//DataContractJsonSerializer方式必须加的契约
[ScriptIgnore]//使用JavaScriptSerializer方式标记不序列化的属性
[JsonIgnore]//使用JSON.NET方式标记不序列化的属性
public string _Name
{
get { return Name; }
set { Name = value; }
}
[DataMember]
private int age;
public int _Age
{
get { return age; }
set { age = value; }
}
[DataMember]
private string sex;
public string _Sex
{
get { return sex; }
set { sex = value; }
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
using Newtonsoft.Json;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
#region 第一种方式:使用JavaScriptSerializer方式
Student stu = new Student();
stu._Name = "vinkong";
stu._Age = 15;
stu._Sex = "男";
JavaScriptSerializer jsonSerialize = new JavaScriptSerializer();
//使用JavaScriptSerializer方式需要引入的命名空间,这个在程序集System.Web.Extensions.dll.中
//using System.Web.Script.Serialization;
//注:可用[ScriptIgnore] 标记不序列化的属性
//对象序列化对象
string strjson = jsonSerialize.Serialize(stu);
//Json反序列化对象
stu = jsonSerialize.Deserialize
下一篇:js 对象深拷贝
文章标题:.NET中JSON的序列化和反序列化的3种方式
文章链接:http://soscw.com/index.php/essay/69881.html