其实不用什么第三方的类库,在.NET Framework对于JSON本来就提供了很好的支持。
1. 使用JavaScriptSerializer,位于命名空间System.Web.Script.Serialization,使用:
序列化为JSON字符串:
Code
User user = new User {
Name = "TerryLee",
Age = 20
};
JavaScriptSerializer serializer = new JavaScriptSerializer();
string result = serializer.Serialize(user);
反序列化:
Code
String input = "";
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.Deserialize<User>(input);
2. 使用DataContractJsonSerializer类,推荐使用这个,这是最新的,位于命名空间System.Runtime.Serialization.Json下,序列化和反序列化分别调用它的WriteObject()和ReadObject()方法就可以了。
所以建议多看看.NET Framework的类库,其实很多功能可能都已经提供了,而无须我们再考虑第三方的了。
建议使用Newtonsoft.Json
//引用Newtonsoft.Json.dll
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
//把Json字符串反序列化为对象
目标对象 = JavaScriptConvert.DeserializeObject(JSON字符串, typeof(目标对象));
//把目标对象序列化为Json字符串
string Json字符串 = JavaScriptConvert.SerializeObject(目标对象);
在.net项目中序列化和反序列:
Code
读取JSON
Code
写入JSON
Code
ASP.NET AJAX不是很好的例子吗?
我记得其实它里面的JSON序列化工具是可以单独使用的,如果只需要一个轻量级的开发框架,那么用它的JSON序列化组件配合jquery这样小巧的js库是很不错的。
using System.Web.Script.Serialization;
/// <summary>
/// Convert a object to a json string
/// </summary>
/// <param name="_obj"></param>
/// <returns></returns>
public static string ToJson(this object _obj)
{
var jss = new System.Web.Script.Serialization.JavaScriptSerializer();
if (_obj != null)
return jss.Serialize(_obj);
return null;
}
/// <summary>
/// Covnert a json format string into a object
/// </summary>
/// <returns></returns>
public static T Eval<T>(this string _objJsonString)
{
var jss = new System.Web.Script.Serialization.JavaScriptSerializer();
try
{
return jss.Deserialize<T>(_objJsonString);
}
catch
{
return default(T);
}
}
Json本是一种独立于语言的轻量级的数据交换格式,javascript能轻松的处理这类数据格式,故做为服务器端和客户端来回传值的一种格式。如楼上所说下边我ASP.net AJAX来做个例子(典型的用法)。
通过客户端调用web service来能方便转成json格式的string,然后在客户端转向成json对象进行访问.
环境:vs2008+.net framemwork3.5
客户端调用代码:
Code
Web Service代码:
Code
结果:
ID为JsonString的span将显示:{"Age":28,"Headship":"程序员","UserName":"王二"}
ID为JsonValue的span将显示: 王二
代码是经过调试的,如果需要整个实例请提供邮箱。
深入了解框架确实意义非凡。至少少走了很多弯路。
给个建议百度一个..呵呵...
JSON:JavaScript Object Notaion,是javascript的轻量级对象,格式楼上的已经说了。用不用框架都无所谓的。
JSONWriter provides a quick and convenient way of producing JSON text
http://www.json.org/javadoc/org/json/JSONWriter.html
And Yahoo! UI Library: JSON utility may be helps:
http://developer.yahoo.com/yui/json/
And there are many resources about JSON cooperate with ASP.NET:
http://www.json.org/
The Json.NET library makes working with JavaScript and JSON formatted data in .NET simple
http://james.newtonking.com/pages/json-net.aspx
Server side deserialization and elaboration of JSON data returned from a Web Service
http://hi.baidu.com/freezesoul/blog/item/5115d209f1623481d0581b69.html
How to convert XML to JSON in ASP.NET C#
http://www.phdcc.com/xml2json.htm
很简单,找一个DEMO多练习