[解決済み] json.Marshal(struct) は "{}" を返します。
2022-04-27 02:08:35
質問
type TestObject struct {
kind string `json:"kind"`
id string `json:"id, omitempty"`
name string `json:"name"`
email string `json:"email"`
}
func TestCreateSingleItemResponse(t *testing.T) {
testObject := new(TestObject)
testObject.kind = "TestObject"
testObject.id = "f73h5jf8"
testObject.name = "Yuri Gagarin"
testObject.email = "[email protected]"
fmt.Println(testObject)
b, err := json.Marshal(testObject)
if err != nil {
fmt.Println(err)
}
fmt.Println(string(b[:]))
}
以下はその出力です。
[ `go test -test.run="^TestCreateSingleItemResponse$"` | done: 2.195666095s ]
{TestObject f73h5jf8 Yuri Gagarin [email protected]}
{}
PASS
なぜJSONは本質的に空なのでしょうか?
解決するには?
必要なのは
輸出
のフィールドは、フィールド名の最初の文字を大文字にして、TestObjectのフィールドを作成します。変更
kind
を
Kind
といった具合です。
type TestObject struct {
Kind string `json:"kind"`
Id string `json:"id,omitempty"`
Name string `json:"name"`
Email string `json:"email"`
}
encoding/json パッケージおよび類似のパッケージは、 unexported フィールドを無視します。
は
`json:"..."`
フィールド宣言の後に続く文字列は
構造体タグ
. この構造体のタグは、JSONとの間でマーシャリングする際に構造体のフィールドの名前を設定します。
関連
-
[解決済み] json gem のインストール中にエラー 'mkmf.rb can't find header files for ruby' が発生する。
-
[解決済み] Elasticsearchで部分一致を行うにはどうしたらいいですか?
-
[解決済み] ネストしたng-repeat
-
[解決済み] Unreadable Notebook NotJSONError('Notebook does not appear to be JSON: u'{'cells": [\'{'cell_type": "...],)
-
[解決済み] Azure VMのエラーです。"あなたのアカウントは、このデバイスを使用できないように設定されています。詳細については、システム管理者にお問い合わせください" [終了しました]。
-
[解決済み] 構造体変数をコンソールに表示するには?
-
[解決済み] JSONオブジェクトに末尾のカンマを使用することは可能ですか?
-
[解決済み】構造体からフィールドを削除したり、JSONレスポンスでフィールドを隠したりする方法
-
[解決済み] Node.jsでJSONオブジェクトの内容をログに記録する方法は?
-
[解決済み] SwiftでHTMLエンティティをデコードするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】RestClientException: 適切な HttpMessageConverter が見つかりませんでした。
-
com.fasterxml.jackson.databind.exc.MismatchedInputException: インスタンスのデシリアライズができない
-
[解決済み] jqを使用して、オブジェクト内の変数の値に基づいてオブジェクトを選択します。
-
[解決済み] Express アプリケーションで JSON POST データを消費する方法
-
[解決済み] .NET NewtonSoft JSONのデシリアライズマップを異なるプロパティ名に変更する。
-
json.loadsがエラーを報告します。二重引用符で囲まれたプロパティ名を期待:行1列2(char 1)
-
Gulpがデモ用ライティングウィジェットを作成
-
[解決済み] SwiftでJSON辞書の型を持つプロパティをデコードする方法 [45] デコード可能なプロトコル
-
[解決済み] Mongo コレクションを JSON 形式にダンプする
-
[解決済み] fs.writeFileSyncによるJSONオブジェクトのJSONファイルへの書き込み