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 で日付を処理する場合は、次の点を考慮する必要があります。
以上がASP.NET MVC JsonResult の非標準日付形式を JavaScript で処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。