加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:29:43 所属栏目:百科 来源:网络整理
导读:using Newtonsoft.Json; using Newtonsoft.Json.Converters; //把Json字符串反序列化为对象 目标对象 = JavaScriptConvert.DeserializeObject(JSON字符串,typeof(目标对象)); //把目标对象序列化为Json字符串 string Json字符串 = JavaScriptConvert.Seriali

using Newtonsoft.Json;

using Newtonsoft.Json.Converters;

//把Json字符串反序列化为对象

目标对象 = JavaScriptConvert.DeserializeObject(JSON字符串,typeof(目标对象));

//把目标对象序列化为Json字符串

string Json字符串 = JavaScriptConvert.SerializeObject(目标对象);

1.引用Newtonsoft.Json.dll

2.在项目中添加引用..

一、序列化和反序列在.net项目中:

using Newtonsoft.Json;

using Newtonsoft.Json.Converters;

public partial class aaaa : System.Web.UI.Page

{

protected void Page_Load(object sender,EventArgs e)

{

Product product = new Product();

product.Name = "Apple";

product.Expiry = new DateTime(2008,12,28);

product.Sizes = new string[] { "Small","Medium","Large" };

string output = JavaScriptConvert.SerializeObject(product); //序列化JavaScriptConvert.SerializeObject

Response.Write(output);

//输出:{"Name":"Apple","Expiry":new Date(1230422400000),"Sizes":["Small","Large"]}

Product deserializeObject = (Product)JavaScriptConvert.DeserializeObject(output,typeof(Product));

//反序列化 JavaScriptConvert.DeserializeObject

Response.Write(deserializeObject.Expiry);

//输出:2008-12-28 00:00:00

}

}

public class Product

{

String _Name;

public String Name

{

get { return _Name; }

set { _Name = value; }

}

DateTime _Expiry;

public DateTime Expiry

{

get { return _Expiry; }

set { _Expiry = value; }

}

String[] _Sizes;

public String[] Sizes

{

get { return _Sizes; }

set { _Sizes = value; }

}

}

二、读取JSON

using Newtonsoft.Json;

using Newtonsoft.Json.Converters;

using System.IO;

public partial class aaaa : System.Web.UI.Page

{

protected void Page_Load(object sender,EventArgs e)

{

string jsonText = "['JSON!',1,true,{property:'value'}]";

JsonReader reader = new JsonReader(new StringReader(jsonText));

Response.Write("<table border=1><tr><th>TokenType</th><th>ValueType</th><th>Value</th></tr>");

while (reader.Read())

{

Response.Write("<tr><td>" + reader.TokenType + "</td><td>" + reader.ValueType + "</td><td>" + reader.Value + "</td></tr>");

}

Response.Write("</table>");

}

}

三、JSON写入

using Newtonsoft.Json;

using Newtonsoft.Json.Converters;

using System.IO;

public partial class aaaa : System.Web.UI.Page

{

protected void Page_Load(object sender,EventArgs e)

{

StringWriter sw = new StringWriter();

JsonWriter writer = new JsonWriter(sw);

writer.WriteStartArray();

writer.WriteValue("JSON!");

writer.WriteValue(1);

writer.WriteValue(true);

writer.WriteStartObject();

writer.WritePropertyName("property");

writer.WriteValue("value");

writer.WriteEndObject();

writer.WriteEndArray();

writer.Flush();

string jsonText = sw.GetStringBuilder().ToString();

Response.Write(jsonText);

//输出:["JSON!",{"property":"value"}]

}

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读