Go語言中使用json包進行JSON數(shù)據(jù)的編解碼。JSON語言中允許使用科學計數(shù)法來表示浮點數(shù)。科學計數(shù)法中使用E或e來表示冪,比如1.23e+4表示1.23乘以10的4次方,即12300。
package main import ( "encoding/json" "fmt" ) type Person struct { Name string `json:"name"` Height float64 `json:"height"` } func main() { p1 := Person{Name: "Alice", Height: 1.75e+1} b, err := json.Marshal(p1) if err != nil { fmt.Println("json.Marshal error:", err) return } fmt.Println(string(b)) } // Output: // {"name":"Alice","height":17.5}
在上述代碼中,我們創(chuàng)建了一個Person結(jié)構(gòu)體,其中Height字段使用了科學計數(shù)法表示。在將p1序列化為JSON字符串時,JSON包會將17.5這個浮點數(shù)直接輸出。