为了账号安全,请及时绑定邮箱和手机立即绑定

如何读取 3 个 json 文件

如何读取 3 个 json 文件

Go
绝地无双 2022-06-27 17:00:45
我正在尝试从 3 个不同的 json 文件中读取 json 数据,其中 json 文件名为 student1.json、students2.json,第三个是 interns.json。我的第一个问题:我在 errr 中遇到错误:= json.Unmarshal(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 filefor 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)    }}}谁能帮我?谢谢!
查看完整描述

1 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

您可以将文件名放入一个切片中,也可以将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)

}


查看完整回答
反对 回复 2022-06-27
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号