EdgexGo2.0学习-15 解析yaml数据
1、EdgeXGo的yaml格式如下
2、网上找到两种常用的解析yaml格式的方法
"gopkg.in/yaml.v2"
"github.com/ghodss/yaml"
使用yaml.v2的方法解析不全,使用ghodss先转换为json,然后再使用json.UnMarshal正常,当然也可以直接yaml.UnMarshal
3、示例
/**
* @description: 获取单个profile具体信息
* @param {*}
* @return {*}
*/
func GetProfileDetail(profilename string) {
deviceprofile := "http://192.168.50.88:4000/api/v2/profile/yaml/name/" + profilename
profiledetail := profiledetail.Profiledetail{}
client := &http.Client{}
url := fmt.Sprintf(deviceprofile)
//提交请求
request, err := http.NewRequest("GET", url, nil)
//异常捕捉
if err != nil {
panic(err)
}
//处理返回结果
response, _ := client.Do(request)
//关闭流
defer response.Body.Close()
//检出结果集
body, err := ioutil.ReadAll(response.Body)
if err != nil {
logutil.Log.Error("ioutil.ReadAll failed ,err:%v", err)
}
yaml.Unmarshal(body, &profiledetail)
}
本博客是个人工作中记录,更深层次的问题可以提供有偿技术支持。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。