Json.Net 無法序列基本型別(string, int),Asp.Net Ajax 無法正確序列日期,AjaxPro序列出我不想要的_type字串
1. Json.Net 是我最常使用的序列/反序列json套件,標榜速度快,對於一對多關係的object 也都能正常運作, 己能滿足我平日的需要,但前幾天突然有個情況,我要序列的是一個泛型參數,該參數不一定是物object型別,有可能是string, int, datetime,Json.Net 卻給我錯誤訊息不讓我繼續下去。
string test = Newtonsoft.Json.JavaScriptConvert.SerializeObject("Hello World");
出現錯誤: Token String in state Start would result in an invalid JavaScript object.
2. Asp.Net Ajax 也內建了一組 Json 序列與反序列的函式庫,只要有裝 Asp.Net Ajax,他會在 namespace System.Web.Script.Serialization,只要加入參考 System.Web.Extensions,就可以用下面的方式使用。
string str = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(new Store());
Store store = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<Store>(str);
本來是想,反正早晚會使用.Net 3.5,而3.5會內建Asp.Net Ajax,拿來用也順理成章。可是測試了一下,他的日期型態是序列成 "//Date(1264118400000)//" 字串,前端 javascript拿到後並不能用datetime 來操作,相對的 Json.Net是序列成new Date(1264118400000)
3.AjaxPro.Net 一個輕量的 Ajax Framework 也提供了 Json 的序列/反序列功能,沒有前面2者的問題,但他序列出的字串比較大,多了一段__type的描述
{"__type":"TestPage_JQuery_TestJSONPage+Store, App_Web_tnrikb42, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"............ ,他讓我產生出來的資料多了近一倍大,據作者的說法,這樣帶來的效益是,可以讓使用 ArrayList的時候,知道Object是什麼,另外是用在有物件繼承關係時,可以明確取得哪一層級的物件屬性。原文如下:
The __type property is used to allow to use the object in ArrayLists or any other object list. The next thing is that if you are using different types that are inherited from a common interface you'd like to get the correct type instead of only getting the properties defined in the common abstract class
,那...這個好功能就不能關掉嗎? 我真的暫時不需要啊..
分享到:
相关推荐
System.Net.Json System.Net.Json
asp.net生成json对象,jquery读取
可以下载NetServ.Net.Json.dll,Newtonsoft.Json.dll,RouteDebug.dll,System.Web.Mvc.dll,System.Web.Routing.dll等DLL文件
c# 使用Json.NET实现json序列化.docx
Vb.net下解析Json数据的类库,提供了ObjectToString,StringToObject等方法,更多封装的方法参考这里:
源码,可直接运行 例子采用access数据库 本例程采用access数据库,若要更换成mySQL或msSQL除了更换连接字符串外,请将DbHelper.cs文件内所有OleDb*****开头的字段替换成Sql****
JSON 对象转换 JSON转换 JSON解析 解析JSON 对象之间转换,与实体转换
JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它易于编程人员阅读和编写,同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - ...
Json.NET Json.NET is a popular high-performance JSON framework for .NET Features Flexible JSON serializer for converting between .NET objects and JSON LINQ to JSON for manually reading and writing ...
System.Net.Json.dll 1.0.2821.20109 在此基础上做出如下修正: 1。添加JsonTextParser1.cs类,采用stack解析json数据,方便理解(原来JsonTextParser,太强悍,自己理解感觉比较吃力) 2。JsonTextParser1,修正...
asp.net +json 操作类 可以直接放到项目中使用。 其中有对easyui .miniui 的json 处理方法
基于.NET3.5的JSON操作基于.NET3.5的JSON操作基于.NET3.5的JSON操作
.NET操作JSON很有用的类库 使用超级方便
这是一个.NET框架使用的 JSON 解析和操作的类库。示例代码:Product product = new Product();product.Name = "Apple"; product.ExpiryDate = new DateTime(2008, 12, 28); product.Price = 3.99M; ...
C#.net 使用json作为配置文件,解悉JSON示例 演示如何解悉JSON,此方法可用于使用一个JSON文件作为程序的配置文件来永久保存配置数据。比txt的更好用,配置文件也更易懂
一个基于C#+asp.net实现的Json Web Editor 字符串编辑工具源码及例子。
【ASP.NET编程知识】浅析ASP.NET万能JSON解析器.docx
asp.net中使用json格式来显示fadsfadfadfdfdasfdf
ASP.NET万能JSON解析器 1.最简单: {"total":0} total就是值,值是数值,等于0 2. 复杂点 {"total":0,"data":{"377149574" : 1}} total是值,data是对象,这个对象包含了"377149574"这个值,等于1 3. 最复杂 {...
.NET平台下的c#解析json程序集,对于学习Ajax的程序员了解这个json很有帮助的