浏览 33980 次
锁定老帖子 主题:JSON 简介
该帖已经被评为良好帖
作者 正文
   发表时间:2007-05-10  
json的一个重要问题是数据类型太少,貌似没有date类型吧。
本来我在一个项目里面想用的,后端用python,前端用.net winform来搞。看了半天,还是不能用啊。
0 请登录后投票
   发表时间:2007-05-10  
charon 写道
json的一个重要问题是数据类型太少,貌似没有date类型吧。
本来我在一个项目里面想用的,后端用python,前端用.net winform来搞。看了半天,还是不能用啊。


有的, date time被转成了tick.
0 请登录后投票
   发表时间:2007-05-10  
ray_linn 写道
charon 写道
json的一个重要问题是数据类型太少,貌似没有date类型吧。
本来我在一个项目里面想用的,后端用python,前端用.net winform来搞。看了半天,还是不能用啊。


有的, date time被转成了tick.


冇啊,还是标准的时间格式哦。
0 请登录后投票
   发表时间: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, 二选一的命题.


0 请登录后投票
   发表时间: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
0 请登录后投票
   发表时间: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
0 请登录后投票
   发表时间:2007-05-10  
上传刚刚的代码
0 请登录后投票
   发表时间:2007-05-10  
ray_linn 写道
charon 写道
json的一个重要问题是数据类型太少,貌似没有date类型吧。
本来我在一个项目里面想用的,后端用python,前端用.net winform来搞。看了半天,还是不能用啊。


有的, date time被转成了tick.


这个是ms自己的定义吧. 貌似不是通用的.
0 请登录后投票
   发表时间: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@."
....汗一个....
0 请登录后投票
   发表时间:2007-05-10  
ray_linn 写道
拿个TCPDump拦一下就可以看到了吧?
哪种是标准现在不能确定,等今年Json被提交到Javascript标准里才知道吧


貌似不可能把 '@12345678@' 这种方式的 datetime表示放到 javascript 标准里去,除非某天 javascript能根据这个字符串直接eval出一个Date对象来.
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics