2 回答

TA貢獻1829條經(jīng)驗 獲得超13個贊
如果我理解正確,這就是你想要的。
const b = `[{"id":1,"Name":"sun"}, {"id":2,"Name":"sam"}]`
persons := []*pb.Person{}
err := json.Unmarshal([]byte(b), &persons)
if err != nil {
panic(err.Error())
}
log.Println(persons)
// 2021/03/06 22:34:15 [id:1 name:"sun" id:2 name:"sam" ]

TA貢獻1804條經(jīng)驗 獲得超3個贊
不確定是否有更好的方法,但它沒有封送到j(luò)son結(jié)構(gòu)中,而是使用編碼/解碼到j(luò)son。ingest.stream不再抱怨了,我可以在azure-data-explorer中看到數(shù)據(jù)
//have a json struct for Group and Person to match the protbuf message posted in the question
var g Group
json.NewDecoder(&buf).Decode(&g)
var b bytes.Buffer
for i := 0; i < len(g.Persons); i++ {
e := json.NewEncoder(&b).Encode(&g.Persons[i])
if e != nil {
panic("issue marshalling protobuf")
}
}
- 2 回答
- 0 關(guān)注
- 99 瀏覽
添加回答
舉報