GORM 是一個強大的 Go 語言 ORM 庫,它提供了多種方便的方法來操作數據庫。在實際的項目開發中,我們經常需要處理 JSON 數據,這時候就需要使用 GORM 來解析 JSON 字符串。
type User struct { ID uint `json:"id"` Name string `json:"name"` Age uint `json:"age"` Email string `json:"email"` } func main() { jsonString := `{"id": 1, "name": "Tom", "age": 23, "email": "tom@example.com"}` var user User err := json.Unmarshal([]byte(jsonString), &user) if err != nil { log.Fatal(err) } fmt.Println(user) }
在上面的代碼中,我們定義了一個 User 結構體,然后使用 json.Unmarshal() 函數將 JSON 字符串解析為 User 對象。如果解析失敗,會返回錯誤信息。最后,我們打印出解析后的 User 對象。
注意,在結構體定義中要使用 json 標簽來指定 JSON 中對應的字段名。
GORM 也提供了很多方法來查詢 JSON 字段,例如:
db.Where("JSON_EXTRACT(info, '$.name') = ?", "Tom").First(&user)
上面的代碼中,我們使用 JSON_EXTRACT() 函數在 info 字段中查找名字為 Tom 的記錄。
總之,使用 GORM 解析 JSON 字符串非常方便,可以大大提高我們的開發效率。