.Net 底下,Json 相關套件的限制

news/2024/7/5 16:44:33 标签: json, .net, asp.net, object, ajax, string

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

,那...這個好功能就不能關掉嗎? 我真的暫時不需要啊.. 

http://www.niftyadmin.cn/n/1413536.html

相关文章

SpringBoot开发案例之打造私有云网盘

前言 最近在做工作流的事情&#xff0c;正好有个需求&#xff0c;要添加一个附件上传的功能&#xff0c;曾找过不少上传插件&#xff0c;都不是特别满意。无意中发现一个很好用的开源web文件管理器插件 elfinder&#xff0c;功能比较完善&#xff0c;社区也很活跃&#xff0c;还…

MySQL TOO BAD row's Range Lock Compare with PostgreSQL and Oracle

MySQL的InnoDB引擎&#xff0c;当UPDATE一个范围的数据时&#xff0c;会锁住比预期更多的ROW&#xff0c;而Oracle和PostgreSQL没有这种现象.来自《High Performance MySQL》一书。测试版本:MySQL 5.5.10PostgreSQL 9.0.2Oracle 10.2.0.4举例如下:1. MySQL (有索引的情况)Sessi…

数论——找新朋友 (欧拉函数)

新年快到了&#xff0c;“猪头帮协会”准备搞一个聚会&#xff0c;已经知道现有会员N人&#xff0c;把会员从1到N编号&#xff0c;其中会长的号码是N号&#xff0c;凡是和会长是老朋友的&#xff0c;那么该会员的号码肯定和N有大于1的公约数&#xff0c;否则都是新朋友&#xf…

Windows server 2003 QQ宠物猪伴侣出错解决办法

运行pigmate后&#xff0c;桌面什么都没有&#xff0c;右下角系统托盘也没有图标&#xff0c;在任务管理器里面倒是可以看到“猪猪伴侣”的条目&#xff0c;运行QQ宠物猪&#xff0c;也不见被伴侣托管 系统平台&#xff1a;enterprise server 2003 sp2 别人的解决方案&#xff…

vue从入门到进阶:渲染函数 JSX(八)

文章目录节点、树以及虚拟 DOMcreateElement 参数 深入 data 对象完整示例约束使用 JavaScript 代替模板功能 v-if 和 v-forv-model事件 & 按键修饰符插槽JSX函数式组件 slots() 和 children 对比Vue 推荐在绝大多数情况下使用 template 来创建你的 HTML。然而在一些场景中…

Akka简单性能分析

因为最近工作的关系&#xff0c;要把异步任务从应用服务器中拆分到专门的异步处理服务器中。 方案一 是采用MQ的方式将任务消息发出&#xff0c;在服务端进行处理&#xff0c;这种方案是采用MQ作为中间的媒介&#xff0c;在服务端采用线程池异步处理任务&#xff0c;处理完成之…

数论——欧拉函数及欧拉打表

欧拉函数的功能&#xff1a;用于求小于n的与n互质数的个数 欧拉函数的作用&#xff1a;用于求小于n的与n互质数的个数 欧拉函数的公式&#xff1a; φ(n)n*(1-1/p1)(1-1/p2)(1-1/p3)*(1-1/p4)……(1-1/pn), 其中p1, p2……pn为n的所有质因数&#xff0c;n是不为0的整数。φ(1)…

这个控件该怎么做呢?

组件名称: THZDBEdit 功能: 结合TDBEdit 的数据感应功能, 1.支持纯数字/日期时间格式hh:nn /文字的输入 EditMask2.支持三种显示效果 DisplayStyle传统效果 下划线: 平板边框: 3.要求失去光标的时候显示效果为以上效果, 如果得到光标 则,根据设置显示 ComboBox 下拉选择…