json.RawMessage的使用
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
很多情况下我们需要判断json里面的一个字段,然后根据这个字段的类型,进行解析下面的字段类型,我们则使用json.RawMessage
package main
import (
"encoding/json"
"fmt"
)
type TestStruct struct {
Type int
Body json.RawMessage
}
type Person struct {
Name string
Age int
}
type Worker struct {
Name string
Job string
}
func main(){
input := `
{
"Type": 1,
"Body":{
"Name":"ff",
"Age" : 19
}
}`
ts := TestStruct{}
if err := json.Unmarshal([]byte(input), &ts); err!= nil {
panic( err)
}
switch ts.Type {
case 1:
var p Person
if err := json.Unmarshal(ts.Body, &p); err != nil {
panic(err)
}
fmt.Println(p)
case 2:
var w Worker
if err := json.Unmarshal(ts.Body, &w); err != nil {
panic(err)
}
fmt.Println(w)
}
}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
3 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献6条内容
所有评论(0)