ProtoBuf将JSON编组为时间戳

时间:2018-06-22 00:57:38

标签: protocol-buffers grpc

尝试查看是否存在这样的内容:

message TimestampedThing {

    string thing = 1;
    Timestamp date = 2 (layout="2018-03-07T01:00:00.000Z");
}

在将其解组到GRPC对象中时遇到解析错误。

  

详细信息:“ json:无法将字符串解组到类型为timestamp.Timestamp的Go结构字段TimestampedThing.createdTimestamp中”

2 个答案:

答案 0 :(得分:0)

protobuf中的时间戳是以ISO格式表示的众所周知的类型(由秒和纳秒组成),在JSONFormat类中要小心。

时间戳的表示形式

message Timestamp{
  int64 seconds,
  int32 nanos
}

布局不是protobuf中的关键字,据我所知,没有任何选项可以定义时间戳的布局/格式。

答案 1 :(得分:0)

结果是我需要jsonpb:should be used

jsonpb.Unmarshal(bufio.NewReader(bytes), &pb.TimestampedThing)