我有一个protobuf Struct存储我的arbirary json。我需要使用fmutils根据提供的字段掩码路径列表过滤并仅保留一些字段
然而,它似乎对结构类型不起作用,因为我所有的字段都消失了(我的结构变成空的)。下面的代码。我需要做其他事情吗?
package main
import (
structpb "github.com/golang/protobuf/ptypes/struct"
"google.golang.org/protobuf/encoding/protojson"
"github.com/mennanov/fmutils"
)
func main() {
jsonString := `{
"field_a": true,
"field_b": {
"sub_field_b": 99
}
}`
myPbStruct := &structpb.Struct{}
protojson.Unmarshal([]byte(jsonString), myPbStruct)
fmutils.Filter(myPbStruct, []string{"field_a"})
// myPbStruct becomes empty after this step
}
字符串
1条答案
按热度按时间6rqinv9w1#
我对
fmutils
不熟悉。Struct
被定义为fields: map<string,Value
,其中Value
。所以,你需要在你的过滤器前面加上
fields
来过滤Value
:字符串