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

 

 

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"}] 

    }

}

 

 

 

Json.NET 描述: json。 网络是一个流行的高性能JSON为。NET框架 灵活的JSON序列化器对之间的转换。净对象和JSON linq到JSON用于手动阅读和写作JSON 高性能,速度比。净的内置JSON序列化器 写缩进,容易阅读JSON JSON和XML之间进行转换 支持: .NET 2, .NET 3.5, .NET 4, .NET 4.5, Silverlight, Windows Phone and Windows 8 Store 版本: Json.NET has different libaries for the various .NET Framework versions. -Net45: .NET latest (4.5) -Net40: .NET 4.0 -Net35: .NET 3.5 -Net20: .NET 2.0 -WinRT: Windows 8 Store -Portable45: .NET 4.5, Windows Phone 8, Windows 8 Store -Portable40: .NET 4.0, Windows Phone 7, Windows 8 Store, Silverlight 4 Notes: Microsoft stopped support for the Compact Framework in Visual Studio 2010. For a Compact Framework 3.5 build download Json.NET 3.5. For a Silverlight 3.0 build download Json.NET 3.5. Microsoft Visual Studio 2010 重新生成解决方案的一些警告处理 警告 2 预定义类型“System.Action”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 3 预定义类型“System.Action”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 4 预定义类型“System.Action”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 5 预定义类型“System.Action”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 6 预定义类型“System.Func”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 7 预定义类型“System.Func”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 8 预定义类型“System.Func”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 9 预定义类型“System.Func”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 10 预定义类型“System.Func”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 问题原因:检查程序发现,由于项目引用了Newtonsoft.Json.Net20,从而造成系统的类重名(项目FRAMEWORK的版本4.0)。 Newtonsoft.Json.Net 包括: .NET 2, .NET 3.5, .NET 4, .NET 4.5, Silverlight, Windows Phone and Windows 8 Store,所有dll文件和源码,有需要的同学可以直接下载。 个人网站多多支持:www.mlyuansu.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tiz198183

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值