1
This commit is contained in:
parent
df9f299b3f
commit
645ee0102f
@ -29,6 +29,9 @@ namespace f8
|
|||||||
if (field_name.empty() || field_name[0] == '_') {
|
if (field_name.empty() || field_name[0] == '_') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (!reader.KeyExists(field_name) && field_desc->is_optional()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
switch (field_desc->cpp_type()) {
|
switch (field_desc->cpp_type()) {
|
||||||
case google::protobuf::FieldDescriptor::CPPTYPE_STRING:
|
case google::protobuf::FieldDescriptor::CPPTYPE_STRING:
|
||||||
@ -91,6 +94,9 @@ namespace f8
|
|||||||
if (field_name.empty() || field_name[0] == '_') {
|
if (field_name.empty() || field_name[0] == '_') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (!jsonobj.HasKey(field_name) && field_desc->is_optional()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (field_desc->is_repeated()) {
|
if (field_desc->is_repeated()) {
|
||||||
std::shared_ptr<a8::XObject> repeated_field = jsonobj.At(field_name);
|
std::shared_ptr<a8::XObject> repeated_field = jsonobj.At(field_name);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user