GO语言 处理未知JSON数据

当未知JSON数据时:

package main

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

func readFileFrompath(path string) []byte {
	content, err := ioutil.ReadFile(path)
	if err != nil {
		log.Println(err)
	}

	return content
}

func main() {
	content := readFileFrompath("./vcard.json")
	var f interface{}
	_ = json.Unmarshal(content, &f)
	m := f.(map[string]interface{})
	for k, v := range m {
        // 处理json数据
		fmt.Println(k)
		fmt.Println(v)
	}
}

其中 vcard.json文件中数据为

{"FirstName":"Jan","LastName":"Kersschot","Addresses":[{"Type":"private","City":"Aartselaar","Country":"Belgium"},{"Type":"work","City":"Boom","Country":"Belgium"}],"Remark":"none"} 

结果为

FirstName
Jan
LastName
Kersschot
Addresses
[map[City:Aartselaar Country:Belgium Type:private] map[City:Boom Country:Belgium Type:work]]
Remark
none
 

 因为在学习的过程中,有人提出了相关问题,所以在此随笔记录一下启到抛砖引玉的作用,。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值