Golang基础-Json文件解析成对象数组

1. 导包 : 需要io包进行文件的读取, json包进行格式解析

import (
   "io/ioutil"
   "encoding/json"
   "fmt"
   "strings"
)

2. 验证json文件是否是有效json格式,否则会解析出错(百度上找一个都可以)

3. 进行文件读取并转换(主要代码)

func main() {
   // 解析json文件存储对象
   var  info []Info
   // 下面使用的是相对路径,config.json文件和main.go文件处于同一目录下
   data, err := ioutil.ReadFile("./config.json")
   // 反序列化json数据
   err = json.Unmarshal(data, &info)
   if err != nil {
      fmt.Println(err.Error())
      return
   }
   // 将信息进行转换成需求对象
   models := changeInfoToQuestionModel(info) 
   fmt.Println(info)
   // Json格式化显示对象信息
   j,_:=json.Marshal(models)

   fmt.Println(string(j))
  
}

 4. 注意事项 json文件中字段名要与转换的对象申明进行匹配 

 举例:

// 转换成的对象
type Info struct {
   Title    string `json:"title"`
}
// Json文件数据
{"title":"测试标题"},

 

 

你可能感兴趣的:(Go,Golang)