我正在編組使用golang的反編組JSON,當我想用數字字段進行編組時,golang會將其轉換爲浮點數而不是使用長整數。JSON使用Golang中的長數字編碼給出浮點數
我有以下的JSON:
{
"id": 12423434,
"Name": "Fernando"
}
它元帥到地圖後,並解組再次JSON字符串,我得到:
{
"id":1.2423434e+07,
"Name":"Fernando"
}
正如你所看到的「ID」字段採用浮點標記。
,我使用的代碼如下:
package main
import (
"encoding/json"
"fmt"
"os"
)
func main() {
//Create the Json string
var b = []byte(`
{
"id": 12423434,
"Name": "Fernando"
}
`)
//Marshal the json to a map
var f interface{}
json.Unmarshal(b, &f)
m := f.(map[string]interface{})
//print the map
fmt.Println(m)
//unmarshal the map to json
result,_:= json.Marshal(m)
//print the json
os.Stdout.Write(result)
}
它打印: 地圖。[ID:1.2423434e + 07產品名:費爾南多] { 「名稱」: 「費爾南多」, 「ID」 :1.2423434e + 07}
看起來,地圖的第一個元帥會生成FP。我如何解決它很長?
這是在操場的Goland的鏈接程序: http://play.golang.org/p/RRJ6uU4Uw-
費爾
不要編組到一個'映射[字符串]接口{}'但用適當的結構例如'id'的'int64'字段。 – Volker