gpt4 book ai didi

go - 如何读取3个json文件

转载 作者:行者123 更新时间:2023-12-01 22:32:04 25 4
gpt4 key购买 nike

我正在尝试从3个不同的json文件中读取json数据,其中json文件的名称为students1.json,students2.json,第三个文件为interns.json。
我的第一个问题:我在errr:= json.Unmarshal(Database,&database)中遇到错误,错误是(类型Database不是表达式)
第二个问题:我不知道如何与另一个添加第三个json文件(一个具有不同的名称interns.json)
这是我的代码:

type Database struct {
FirstName string `json:"first"`
LastName string `json:"last"`
Email string `json:"email"`
}
func main() {
fileIndex := 1 // 2 json file
for i := 1; i <= fileIndex; i++ {
fileName := fmt.Sprintf("%s%d%s", "students", i, ".json")

// open json file
jsonFile, err := os.Open(fileName)

defer jsonFile.Close()
byteValue, _ := ioutil.ReadAll(jsonFile)
var database []Database
json.Unmarshal(byteValue, &database)
errr := json.Unmarshal(Database, &database)
if errr != nil {
panic(errr)
}
}
}
谁能帮我?谢谢!

最佳答案

您可以将文件名分成片,也可以分成Database片。然后,只需读取文件并将其unmarshal编码为Database即可。

func main() {
fileNames := []string{"students1.json", "students2.json", "interns.json"}
databases := []Database{}
for _, file := range fileNames {
jsonData, err := ioutil.ReadFile(file)
if err != nil {
panic(err)
}
db := Database{}
err = json.Unmarshal(jsonData, &db)
if err != nil {
panic(err)
}
databases = append(databases, db)
}
fmt.Println(databases)
}

关于go - 如何读取3个json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63870741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com