相关疑难解决方法(0)

如何格式化Microsoft JSON日期?

我正在使用jQuery 在Ajax上进行第一次破解.我将数据放到我的页面上,但是我在为Date数据类型返回的JSON数据方面遇到了一些麻烦.基本上,我得到的字符串看起来像这样:

/Date(1224043200000)/
Run Code Online (Sandbox Code Playgroud)

从全新的人到JSON - 如何将其格式化为短日期格式?这应该在jQuery代码中的某个地方处理吗?我试过使用jQuery.UI.datepicker插件$.datepicker.formatDate()没有任何成功.

仅供参考:以下是我提出的解决方案:

function getMismatch(id) {
  $.getJSON("Main.aspx?Callback=GetMismatch",
    { MismatchId: id },

    function (result) {
      $("#AuthMerchId").text(result.AuthorizationMerchantId);
      $("#SttlMerchId").text(result.SettlementMerchantId);
      $("#CreateDate").text(formatJSONDate(Date(result.AppendDts)));
      $("#ExpireDate").text(formatJSONDate(Date(result.ExpiresDts)));
      $("#LastUpdate").text(formatJSONDate(Date(result.LastUpdateDts)));
      $("#LastUpdatedBy").text(result.LastUpdateNt);
      $("#ProcessIn").text(result.ProcessIn);
    }
  );

  return false;
}

function formatJSONDate(jsonDate) {
  var newDate = dateFormat(jsonDate, "mm/dd/yyyy");
  return newDate;
}
Run Code Online (Sandbox Code Playgroud)

此解决方案从回调方法获取我的对象,并使用日期格式库正确显示页面上的日期.

asp.net ajax jquery json

1954
推荐指数
32
解决办法
72万
查看次数

ASP.NET MVC JsonResult日期格式

我有一个控制器动作,有效地简单地返回我的模型的JsonResult.所以,在我的方法中,我有类似以下内容:

return new JsonResult(myModel);
Run Code Online (Sandbox Code Playgroud)

除了一个问题外,这很有效.模型中有一个日期属性,这似乎在Json结果中返回,如下所示:

"\/Date(1239018869048)\/"
Run Code Online (Sandbox Code Playgroud)

我应该如何处理日期,以便以我要求的格式退回?或者如何在脚本中处理上述格式?

javascript asp.net-mvc json

237
推荐指数
8
解决办法
17万
查看次数

asp.net中的DateTime的Javascript序列化没有提供javascript日期对象?

当我在.Net中将DateTime解析为json时,它返回一个字符串(即"\/Date(1249335194272)\/").如何让它返回一个js Date对象构造函数而不是换成字符串?

// js server code
var dteNow = <%= jsonDateNow %>;


// js rendered code
var dteNow = "\/Date(1249335477787)\/";


// C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.Script.Serialization;
using System.Web.UI.WebControls;

namespace testing{
    public partial class iTaxPrep : System.Web.UI.Page
    {
        protected string jsonDateNow;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                jsonDateNow = new JavaScriptSerializer().Serialize(DateTime.Now);

            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net serialization datetime

48
推荐指数
3
解决办法
4万
查看次数

DateTime的自定义JavaScriptConverter?

我有一个对象,它有一个DateTime属性...我想通过AJAX/JSON将该对象从.ashx处理程序传递回网页...我不想使用第三方控件...

当我这样做:

  new JavaScriptSerializer().Serialize(DateTime.Now);
Run Code Online (Sandbox Code Playgroud)

我明白了:

  "\/Date(1251385232334)\/"
Run Code Online (Sandbox Code Playgroud)

但我想要"8/26/2009"(没关系本地化......我的应用程序是非常本地化的,所以我的日期格式化假设在这个问题中没有争议).如果我制作/注册自定义转换器

public class DateTimeConverter : JavaScriptConverter
{
    public override IEnumerable<Type> SupportedTypes
    {
        get { return new List<Type>() { typeof(DateTime), typeof(DateTime?) }; }
    }

    public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
    {
        Dictionary<string, object> result = new Dictionary<string, object>();
        if (obj == null) return result;
        result["DateTime"] = ((DateTime)obj).ToShortDateString();
        return result;
    }

    public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer)
    {
        if (dictionary.ContainsKey("DateTime"))
            return new DateTime(long.Parse(dictionary["DateTime"].ToString()), DateTimeKind.Unspecified);
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我得到这个结果(因为自定义序列化方法的返回值是一个字典):

{"DateTime":"8/27/2009"} …
Run Code Online (Sandbox Code Playgroud)

.net javascript ajax converter

27
推荐指数
3
解决办法
2万
查看次数

更改WCF中的默认日期序列化

有没有改变WCF中DateTime的默认JSON序列化/反序列化?

目前,DateTime被序列化为/Date(1372252162657+0200)/格式,应该没问题,但是当我的服务器不是UTC(我无法更改)时,我遇到了问题.

此服务正在处理的所有日期/时间数据均为UTC格式.当服务器使用UTC时,一切正常.但是,staging/prod环境设置为GMT + 1(Paris),并且序列化器假设日期/时间是GMT + 1,完全忽略该属性Kind.因此,您希望调用DateTime.SetKind()并将其设置为UTC将无法正常工作.实际上,序列化时间延迟了一个小时.

我可以进行双向日期对话(它在反序列化时也做出相同的假设,因此它的GMT + 1总是)对话的日期:UTC到/从服务器时间,但这是乏味的.所以我想也许我可以覆盖默认的序列化行为.

c# wcf serialization datetime json

16
推荐指数
3
解决办法
2万
查看次数

标签 统计

javascript ×3

json ×3

ajax ×2

asp.net ×2

c# ×2

datetime ×2

serialization ×2

.net ×1

asp.net-mvc ×1

converter ×1

jquery ×1

wcf ×1