您的位置:首页 > Web前端 > JavaScript

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

2011-06-09 11:12 671 查看
 

 

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","Medium","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!",1,true,{"property":"value"}] 

    }

}

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: