6
私は昨日から頭が壊れていて、それに対処する方法がわからないという問題があります。JSON日付の非正規化日付を
- 私は次の値が含まれている私のデータベースの日付フィールドがあります。そして、私のアプリケーションが値を取得し、私のWebフォームにそれを送る
- を。(値はまだ同じ:) thats fine !!クライアント側で
- 私は(値がまだ同じ:)細かいthatsのJSONから来ている値を参照してくださいJavaScriptのアラートに休憩を入れて!
アラートのクライアント側のコードはこれです:私は、サーバーに値を返送するとき、これは私が得るものです今
// transaction json model
var jsonTransaction = @(Html.Raw(Json.Encode(this.Model.Transaction)));
alert(new Date(parseInt(jsonTransaction.Date.substr(6))));
- 最後に、JSONのシリアル化を解除した後、私の日付は間違っています! 7日目の代わりに今8日目???????
これはデシリアライズのためのコードです:
public JsonResult SaveBill(string jsonTransaction, string jsonTranDetails)
{
_appState = this.AppState;
JsonResult returnVal = returnVal = Json(
new { Success = true }
);
var transaction = JsonConvert.DeserializeObject<BillTransaction>(jsonTransaction, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore });
日付で、この問題を解決する方法上の任意の手掛かり私は何も変更しなかったので、私は同じ日付を取得する必要があります。誰かが私に解決策を導くことを願っています。
ありがとうございます。
NewtonsoftのJSON.NETを使用している場合、この問題は解決しません。 ASP.NET MVC 4の新しいWeb APIは、同じパーサを使用します。 –
これはあなたが知る必要があるすべてを議論する必要があります:http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI。ASPX –
私は同じ日付を取得することができる唯一の方法は、サーバー側でこれをやっている: JsonConvert.DeserializeObject(jsonTransaction、新しいJsonSerializerSettings(){NullValueHandling = NullValueHandling.Ignore、DateFormatHandling = DateFormatHandling.MicrosoftDateFormat、DateTimeZoneHandling = DateTimeZoneHandling.Local }); しかし、DateTimeZoneHandling.Localを使用しているかどうかわかりません。 –
VAAA