2 回答

TA貢獻1825條經驗 獲得超6個贊
要創建 through map 數組JSON,您需要創建一個map作為slice單個 map 而另一個只是單個 map,然后在單個 map 中一個一個地賦值,然后將其附加到 slice of map 中,如下面的代碼所示:
package main
import (
"fmt"
"encoding/json"
)
func main(){
id := [5]string{"1","2","3","4","5"}
name := [5]string{"A","B","C","D","E"}
parseData := make([]map[string]interface{}, 0, 0)
for counter,_ := range id {
var singleMap = make(map[string]interface{})
singleMap["id"] = id[counter]
singleMap["name"] = name[counter]
parseData = append(parseData, singleMap)
}
b, _:= json.Marshal(parseData)
fmt.Println(string(b))
}
你也可以在這里測試
它打印JSON
為:
[{"id":"1","name":"A"},
{"id":"2","name":"B"},
{"id":"3","name":"C"},
{"id":"4","name":"D"},
{"id":"5","name":"E"}]

TA貢獻1821條經驗 獲得超5個贊
對我來說,這更像是一組對象。您可以像這樣獲得所需的輸出:
type data struct {
Id string
Name string
}
func main(){
id := [5]string{"1","2","3","4","5"}
name := [5]string{"A","B","C","D","E"}
var parsedData []data
for counter := range id {
parsedData = append(parsedData, data{Name: name[counter], Id: id[counter]})
}
bytes, _ := json.Marshal(parsedData)
fmt.Print(string(bytes))
}
輸出應如下所示:
[
{"Id":"1","Name":"A"},
{"Id":"2","Name":"B"},
{"Id":"3","Name":"C"},
{"Id":"4","Name":"D"},
{"Id":"5","Name":"E"}
]
- 2 回答
- 0 關注
- 167 瀏覽
添加回答
舉報