a を JSON データに変換してlist<T>
から、Jqgrid にバインドしようとしています。
問題は、リスト コレクションに DateTime として列の 1 つが含まれていることです。
結果の JSON 応答を見ると、日時が正しくシリアル化されていません。次のようになります。
/Date(1267408935000)/
リスト コレクションに日時列が含まれている場合に、リスト コレクションを JSON データに適切に変換する方法。
助けてください..
a を JSON データに変換してlist<T>
から、Jqgrid にバインドしようとしています。
問題は、リスト コレクションに DateTime として列の 1 つが含まれていることです。
結果の JSON 応答を見ると、日時が正しくシリアル化されていません。次のようになります。
/Date(1267408935000)/
リスト コレクションに日時列が含まれている場合に、リスト コレクションを JSON データに適切に変換する方法。
助けてください..
formatter: "date"
対応する列定義に使用するとcolModel
、jqGrid は対応する変換を自動的に行います。この問題は、非常に古いバージョンの jqGrid を使用している場合にのみ発生する可能性があります (対応するサポートが jqGrid 3.8.2 から導入されたことを説明したドキュメントを参照してください)。
「適切にシリアル化されていない」とあなたが言うとき、それは私には問題ないように見えます. これは JSON 日付の 1 つの形式でDate
、「Unix エポックからのミリ秒数」をパラメーターとして取る Javascript コンストラクターに由来します。したがって、指定した値は、たとえば 2010 年 3 月 1 日 02:02:15 UTC です。
このデータをデシリアライズする Javascript は絶対に問題ないと思いますが、もちろん必ずしもそうであるとは限りません... 本当に問題が発生している場合は、JSON の日付/時刻形式に関する Scott Hanselman のブログ投稿をお読みください。 JSON フォーマッタをデフォルトで ISO-8601 フォーマットを使用するJson.NETに交換する方法。
DateTimeの代わりにstringプロパティを持つクラスを作成します。
public class MyJsonModel
{
public string DateTimeString { get;set; }
}
var model = new MyJsonModel();
model.DateTimeString = DateTime.Now.ToString("MM-dd-yyyy"); //Any format you like