JSON映射

Proto3支持JSON中的规范编码,使得在系统之间共享数据更加容易。下表按类型对编码进行了描述。

如果JSON编码的数据中缺少一个值或者它的值为null,那么在解析到protocol buffer时,它将被解释为适当的默认值。如果某个字段在protocol buffer中有默认值,则在JSON编码的数据中默认会省略该字段以节省空间。具体实现可以提供选项在JSON编码的输出中使用默认值字段。

proto3JSONJSON example
messageobject{"fooBar": v, "g": null, …}
enumstring"FOO_BAR"
mapobject{"k": v, …}
repeated Varray[v, ...]
booltrue,falsetrue, false
stringstring"hello"
bytesbase64 string"YWJjMTIzIT8kKiYoKSctPUB+"
int32, fixed32, uint32number1, -10, 0
int64, fixed64, uint64string"1", "-10"
float, doublenumber1.1, -10.0, 0, "NaN", "Infinity"
Anyobject{"@type": "url", "f": v, … }
Timestampstring"1972-01-01T10:00:20.021Z"
Durationstring"1.000340012s", "1s"
Structobject{...}
Wrapper typesvarious types2, "2", "foo", true, "true", null, 0, …
FieldMaskstring"f.fooBar,h"
ListValuearray[foo, bar, …]
ValueValue
NullValuenull
Emptyobject{}

results matching ""

    No results matching ""