代码实例:
package main
import (
"encoding/json"
"fmt"
"strings"
)
func UnknownJson(data string) {
if data != `` {
r := strings.NewReader(data)
dec := json.NewDecoder(r)
switch data[0] {
case 91:
// "[" 开头的Json(数组型Json)
param := []interface{}{}
dec.Decode(¶m)
fmt.Println(param)
// fmt.Println(param[0]) // 使用一个值
// println(reflect.TypeOf(param[0]).String()) // 获取值的类型
case 123:
// "{" 开头的Json(对象型Json)
param := make(map[string]interface{})
dec.Decode(¶m)
fmt.Println(param)
// fmt.Println(param[`a`]) // 使用一个值
// println(reflect.TypeOf(param[`a`]).String()) // 获取值的类型
}
}
}
func main() {
UnknownJson(`{"a":1}`)
UnknownJson(`[{"a":1},{"b":2}]`)
UnknownJson(`[1,2,3,4]`)
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。