commit | d3f8f2d4122f4b739c70822f3aae4f82bf28cac9 | [log] [tgz] |
---|---|---|
author | Herbie Ong <herbie@google.com> | Wed Mar 06 00:28:23 2019 -0800 |
committer | Herbie Ong <herbie@google.com> | Mon Mar 11 21:53:21 2019 +0000 |
tree | 2e418f3305b51aca8bd89825324f2acfb67b3321 | |
parent | 9d8c804b555ce2597eb7145ce9070022815d1328 [diff] |
internal/encoding/json: rewrite to a token-based encoder and decoder Previous decoder decodes a JSON number into a float64, which lacks 64-bit integer precision. I attempted to retrofit it with storing the raw bytes and parsed out number parts, see golang.org/cl/164377. While that is possible, the encoding logic for Value is not symmetrical with the decoding logic and can be confusing since both utilizes the same Value struct. Joe and I decided that it would be better to rewrite the JSON encoder and decoder to be token-based instead, removing the need for sharing a model type plus making it more efficient. Change-Id: Ic0601428a824be4e20141623409ab4d92b6167c7 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/165677 Reviewed-by: Damien Neil <dneil@google.com>
WARNING: This repository is in active development. There are no guarantees about API stability. Breaking changes will occur until a stable release is made and announced.
This repository is for the development of the next major Go implementation of protocol buffers. This library makes breaking API changes relative to the existing Go protobuf library. Of particular note, this API aims to make protobuf reflection a first-class feature of the API and implements the protobuf ecosystem in terms of reflection.
List of relevant design documents:
We appreciate community contributions. See CONTRIBUTING.md.
Issues regarding the new API can be filed at github.com/golang/protobuf. Please use a APIv2:
prefix in the title to make it clear that the issue is regarding the new API work.