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":"测试标题"},