在 Python 中,從 JSON 物件中提取單一值非常簡單,無需定義結構。另一方面,Go 需要宣告一個結構來表示預期的 JSON 結構。然而,這種方法對於僅獲取特定值來說可能看起來很麻煩。
您可以利用標準 json 套件將 JSON 解碼為映射,而不是建立專用結構[字串]介面{}。這允許您透過鍵存取值:
import ( "encoding/json" "fmt" ) func main() { b := []byte(`{"ask_price":"1.0"}`) data := make(map[string]interface{}) err := json.Unmarshal(b, &data) if err != nil { panic(err) } if price, ok := data["ask_price"].(string); ok { fmt.Println(price) } else { panic("wrong type") } }
地圖提供靈活性,因為它們允許您:
結構體對於以下方面仍然有用:
映射和結構之間的決定取決於應用程式的特定要求。如果您優先考慮簡單性和靈活性,地圖可能是更好的選擇。如果類型安全和顯式資料表示很重要,則建議使用結構。
以上是在不定義結構體的情況下,如何在 Go 中有效地從 JSON 中提取單一值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!