JSON 応答のタイムスタンプのフォーマット
Go の time パッケージは、タイムスタンプを表現するための time.Time 型を提供します。ただし、json.NewEncoder を使用して time.Time オブジェクトを JSON にエンコードすると、マシンに適した形式でフォーマットされます。 JSON 応答のタイムスタンプ形式をカスタマイズする場合は、次の手順を実行します。
タイムスタンプ形式のカスタマイズ
time.Time を埋め込み、マーシャラー インターフェイス。
type JSONTime time.Time func (t JSONTime) MarshalJSON() ([]byte, error) { stamp := fmt.Sprintf("\"%s\"", time.Time(t).Format("Mon Jan _2")) return []byte(stamp), nil }
このコードは、タイムスタンプを次のようにフォーマットする型を定義します。 "Mon Jan _2".
カスタム時刻型の使用
Document 構造体で、タイムスタンプ フィールドに JSONTime 型を使用します:
type Document struct { Name string Content string Stamp JSONTime Author string }
サンプルコード
初期化カスタム タイムスタンプを持つドキュメント:
testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}
これで、カスタム タイムスタンプ形式で応答を送信できます:
sendResponse(testDoc, w,r)
注:
または、timelib のようなライブラリを使用して、タイムスタンプ形式を簡単にカスタマイズできます。 time.Time 値の MarshalJSON メソッドを提供します。
以上がGo の JSON 応答のタイムスタンプ形式をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。