「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 非mar監督中に動的なJSONフィールドタイプを処理するにはどうすればよいですか?

非mar監督中に動的なJSONフィールドタイプを処理するにはどうすればよいですか?

2025-03-25に投稿されました
ブラウズ:417

How Can Go Handle Dynamic JSON Field Types During Unmarshaling?

go

の動的jsonフィールドタイプの処理が、jsonを構造に陥らせるとき、APIリクエスト全体の特定のキーの値の価値の違いの一貫性に遭遇する場合があります。この課題は、サーバーが同じキーに対して異なるオブジェクト構造または文字列参照を送信するときに発生します。この問題に対処するには、GOが登場するための固定構造が必要であるため、これは問題を引き起こす可能性があります。次のJSONデータを検討してください。

{ 「mykey」:[ {obj1}、 {obj2} ] }

{
  "mykey": [
    {obj1}, 
    {obj2}
  ]
}

文字列値を持つjsonが遭遇したとき、

type Data struct {
    MyKey []interface{} `json:"mykey"`
}

mykeyスライス要素は文字列としてデコードされます。オブジェクトの場合、それらはMap [String]インターフェイス{}値としてデコードされます。この区別は、タイプスイッチを使用して行うことができます:

{
  "mykey": [
    "/obj1/is/at/this/path", 
    "/obj2/is/at/this/other/path"
  ]
}

JSONをインターフェイスタイプに抑制し、タイプスイッチを使用して、GO開発者は動的フィールドタイプを処理し、サーバーが提供する構造に関係なくデータを適切に解析できます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3