锁定老帖子 主题:JSON 简介
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-10
json的一个重要问题是数据类型太少,貌似没有date类型吧。
本来我在一个项目里面想用的,后端用python,前端用.net winform来搞。看了半天,还是不能用啊。 |
|
返回顶楼 | |
发表时间:2007-05-10
charon 写道 json的一个重要问题是数据类型太少,貌似没有date类型吧。
本来我在一个项目里面想用的,后端用python,前端用.net winform来搞。看了半天,还是不能用啊。 有的, date time被转成了tick. |
|
返回顶楼 | |
发表时间:2007-05-10
ray_linn 写道 charon 写道 json的一个重要问题是数据类型太少,貌似没有date类型吧。
本来我在一个项目里面想用的,后端用python,前端用.net winform来搞。看了半天,还是不能用啊。 有的, date time被转成了tick. 冇啊,还是标准的时间格式哦。 |
|
返回顶楼 | |
发表时间:2007-05-10
风往北吹 写道 ray_linn 大佬
记得去年的某个夜晚,M$彻彻底底的来了一个大忽悠,把Atlas的外衣和内裤都给换了,来了个ASP.NET AJAX,当时整个波客园悲情四射,尤其写书的和卖书的 http://www.cnblogs.com/dflying/archive/2006/10/24/From_Atlas_to_ASPNET_AJAX_1_Installation_Packages.html 老赵这哥们一直热情似火 http://www.cnblogs.com/JeffreyZhao/category/81840.html http://www.cnblogs.com/JeffreyZhao/category/72910.html 要想领鲜就得承担风险呀....老赵也不是第一个被切的人, 当年COM+的Load balance也不照样忽悠了我一把,还有ObjectSpace, 我可辛苦翻译了一本手册. 要写书赚钱嘛,可以老实等release了写,这样可能跟别人的书挤呀挤呀,也可以Beta版就写,那可能被忽悠... To be or Not to Be, 二选一的命题. |
|
返回顶楼 | |
发表时间:2007-05-10
风往北吹 写道 ray_linn 写道 charon 写道 json的一个重要问题是数据类型太少,貌似没有date类型吧。
本来我在一个项目里面想用的,后端用python,前端用.net winform来搞。看了半天,还是不能用啊。 有的, date time被转成了tick. 冇啊,还是标准的时间格式哦。 这个我继续研究一下,刚装了.net 3.5 beta 1,看看MS是如何解决的吧,以前用的Json API是个open source.net |
|
返回顶楼 | |
发表时间:2007-05-10
JSON在asp.net ajax中的应用
Web Service using System; using System.Data; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Services.Protocols; using System.ComponentModel; using System.Web.Script.Services; using System.Web.Script.Serialization; namespace AJAXEnabledWebApplication { /// <summary> /// Summary description for AjaxWebService /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] [GenerateScriptType(typeof(Ajax))] [ScriptService] public class AjaxWebService : System.Web.Services.WebService { [WebMethod] public Ajax HelloAjax() { return new Ajax(); } } public class Ajax { public string Name = "ASP.NET AJAX"; public string Version = "1.0.0.0"; public string Description = "ScriptService And ScriptMethod"; public DateTime Now = DateTime.Now; } } 上面代码中 [GenerateScriptType(typeof(Ajax))] 目的就是把服务端AJAX对象转化为JSON结构。 asp.net ajax在客户端调用Web Service的代码: <asp:ScriptManager ID="ScriptManager1" runat="server"> <Services> <asp:ServiceReference Path="AjaxWebService.asmx" /> </Services> </asp:ScriptManager> <script type="text/javascript"> document.getElementById("HelloButton").onclick = function() { AJAXEnabledWebApplication.AjaxWebService.HelloAjax(SucceededCallback); }; function SucceededCallback(result) { alert(result.Name); alert(result.Version); alert(result.Now); } </script> 服务器端的Ajax对象到客户端后,可以这样访问: result.Name,result.Now |
|
返回顶楼 | |
发表时间:2007-05-10
上传刚刚的代码
|
|
返回顶楼 | |
发表时间:2007-05-10
ray_linn 写道 charon 写道 json的一个重要问题是数据类型太少,貌似没有date类型吧。
本来我在一个项目里面想用的,后端用python,前端用.net winform来搞。看了半天,还是不能用啊。 有的, date time被转成了tick. 这个是ms自己的定义吧. 貌似不是通用的. |
|
返回顶楼 | |
发表时间:2007-05-10
拿个TCPDump拦一下就可以看到了吧?
无论是java的还是MS,还是第三方的解决时间的方法,都不是标准的方法...比如json-lib是这样处理的: "month":10,"day":4,"year":106,"nanos":0,"time":1163647105000,"seconds":25,"timezoneOffset":-480,"date":16,"hours":11,"minutes":18 MS据说是这样处理的 \/Date(ticks)\/或者"@62831853071@." ....汗一个.... |
|
返回顶楼 | |
发表时间:2007-05-10
ray_linn 写道 拿个TCPDump拦一下就可以看到了吧?
哪种是标准现在不能确定,等今年Json被提交到Javascript标准里才知道吧 貌似不可能把 '@12345678@' 这种方式的 datetime表示放到 javascript 标准里去,除非某天 javascript能根据这个字符串直接eval出一个Date对象来. |
|
返回顶楼 | |