go读取json数组文件

test.json格式如下

[{
"connection": "488.0",
"name": "xxx",
 "region_ip": "10.28.78.122", 
 "region_name": "xxx",
 "time": "2021-02-01 16:17:00.000", 
 "__source__": "",
 "__time__": "1610871517"
},
{
"connection": "488.0",
"name": "xxx",
 "region_ip": "10.28.78.122", 
 "region_name": "xxx",
 "time": "2021-02-01 16:17:00.000", 
 "__source__": "",
 "__time__": "1610871517"
}]

在于定义结构体数组来接受json数组的值


package main
import (
	"encoding/json"
	"fmt"
	"io/ioutil"
)
// Ignore the unused imports.
type Logdata struct {
	Connection string `json:connection`
	Name string	`json:name`
	Region_ip string `json:region_ip`
	Region_name string `json:region_name`
	Time string `json:time`
	Source string `json:source,omitempty`
	Time_chuo string `json:time_chuo`
}
func getConfigs() string {


	b, err := ioutil.ReadFile("test.json") // just pass the file name


	if err != nil {
		fmt.Print(err)
	}


	str := string(b) // convert content to a 'string'
	fmt.Println(str) // print the content as a 'string'
	return str
}
func deserializeJson(configJson string) []Logdata {


	jsonAsBytes := []byte(configJson)
	configs := make([]Logdata, 0)
	err := json.Unmarshal(jsonAsBytes, &configs)
	fmt.Printf("%#v", configs)
	if err != nil {
		panic(err)
	}
	return configs
}
func main() {

	// Unmarshal each fastDeploy config component into a slice of structs.
	jsonConfigList := getConfigs()
	unmarshelledConfigs := deserializeJson(jsonConfigList)
	for _, configObj := range unmarshelledConfigs {
		fmt.Printf("Connection: %s Name: %d", configObj.Connection, configObj.Name)
	}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值