ホームページ > ウェブフロントエンド > jsチュートリアル > ASP.NET MVC JsonResult の非標準日付形式を JavaScript で処理するにはどうすればよいですか?

ASP.NET MVC JsonResult の非標準日付形式を JavaScript で処理するにはどうすればよいですか?

DDD
リリース: 2024-12-20 18:22:12
オリジナル
297 人が閲覧しました

How to Handle ASP.NET MVC JsonResult's Non-Standard Date Format in JavaScript?

ASP.NET MVC JsonResult Date Format

ASP.NET MVC で JsonResult を返すときに、日付プロパティが「/Date(1239018869048)/」のような形式でシリアル化されます。この形式は JavaScript で読み取ることができないため、アプリケーションで日付を処理するときに問題が発生する可能性があります。

解決策 1: JavaScript で日付文字列を手動で解析する

1 つの方法は、解析することです。次のコードを使用して、JavaScript で日付文字列を手動で入力します:

value = new Date(parseInt(value.replace("/Date(", "").replace(")/",""), 10));
ログイン後にコピー

このコードは、「Date(」を削除します。

解決策 2: Reviver 関数で JSON.parse() を使用する

別のオプションは次のとおりです。日付文字列を Date オブジェクトに変換する reviver 関数とともに JSON.parse() 関数を使用します。例:

var parsed = JSON.parse(data, function(key, value) {
  if (typeof value === 'string') {
    var d = /\/Date\((\d*)\)\//.exec(value);
    return (d) ? new Date(+d[1]) : value;
  }
  return value;
});
ログイン後にコピー

このコードでは、reviver 関数は、値が文字列であるかどうか、および「/Date((d*))/」パターンと一致するかどうかをチェックします。存在する場合、値は Date コンストラクターを使用して Date オブジェクトに変換されます。それ以外の場合は、元の値が返されます。

追加の考慮事項

JSON 仕様では標準の日付形式が定義されていないことに注意することが重要です。 ASP.NET MVC で使用される「/Date(ticks)/」形式は、JSON で Date オブジェクトを表現できるようにする規則です。

JavaScript で日付を処理する場合は、次の点を考慮する必要があります。

  • Date.parse() 関数は日付文字列の解析にも使用できますが、いくつかの制限があります。
  • 必要な場合があります。 Date オブジェクトを作成するときに正しいタイムゾーンを指定して、日付が正しく処理されるようにします。
  • ES6 では、認識される標準形式である ISO 8601 形式で日付を返す新しい Date.toISOString() メソッドが導入されました。多くのプログラミング言語とアプリケーションで使用できます。

以上がASP.NET MVC JsonResult の非標準日付形式を JavaScript で処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート