diff options
author | Lizan Zhou <zlizan@google.com> | 2016-06-22 11:46:10 -0700 |
---|---|---|
committer | Lizan Zhou <zlizan@google.com> | 2016-06-28 00:17:06 -0700 |
commit | 31999a3f95d8ec9f93b56b0966e2895c5205da53 (patch) | |
tree | b6b430749dd1af0444b1de5a90682bf26716341a /src/google/protobuf/util/internal/proto_writer.cc | |
parent | dc0aeaa9030bdac264b44d56d07b6839a1ae94e9 (diff) |
Add JsonParseOptions to ignore unknown fields
- add JsonParseOptions for JsonToBinaryString allow unknown fields
- rename current JsonOptions to JsonPrintOptions
Diffstat (limited to 'src/google/protobuf/util/internal/proto_writer.cc')
-rw-r--r-- | src/google/protobuf/util/internal/proto_writer.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/google/protobuf/util/internal/proto_writer.cc b/src/google/protobuf/util/internal/proto_writer.cc index 36b79410..052a0c96 100644 --- a/src/google/protobuf/util/internal/proto_writer.cc +++ b/src/google/protobuf/util/internal/proto_writer.cc @@ -71,6 +71,7 @@ ProtoWriter::ProtoWriter(TypeResolver* type_resolver, adapter_(&buffer_), stream_(new CodedOutputStream(&adapter_)), listener_(listener), + ignore_unknown_fields_(false), invalid_depth_(0), tracker_(new ObjectLocationTracker()) {} @@ -88,6 +89,7 @@ ProtoWriter::ProtoWriter(const TypeInfo* typeinfo, adapter_(&buffer_), stream_(new CodedOutputStream(&adapter_)), listener_(listener), + ignore_unknown_fields_(false), invalid_depth_(0), tracker_(new ObjectLocationTracker()) {} @@ -692,7 +694,9 @@ const google::protobuf::Field* ProtoWriter::Lookup( } const google::protobuf::Field* field = typeinfo_->FindField(&e->type(), unnormalized_name); - if (field == NULL) InvalidName(unnormalized_name, "Cannot find field."); + if (field == NULL && !ignore_unknown_fields_) { + InvalidName(unnormalized_name, "Cannot find field."); + } return field; } |