• Leon Barrett's avatar
    Fix parsing empty Struct Values from Json (#5211) · 9e69594a
    Leon Barrett authored
    * Fix parsing empty Struct Values from Json
    
    This fixes a bug. When parsing a struct from JSON like
        struct = json_format.Parse('{"k": {}}', Struct())
    then the struct's "k" value would end up not initialized, and accessing
    the value would raise an error.
        In[1]: struct['k']
        ValueError: Value not set
    That seems to be because the Struct field of the Value was not set.
        In[2]: struct
        Out[2]:
        fields {
          key: "k"
          value {
          }
        }
    
    This commit makes sure that the Value's Struct field is initialized even
    if the Struct has no values itself.
    
    This commit also extends a test to cover this case.
    
    * Additionally test for empty list
    9e69594a
Name
Last commit
Last update
.github/ISSUE_TEMPLATE Loading commit data...
benchmarks Loading commit data...
cmake Loading commit data...
conformance Loading commit data...
csharp Loading commit data...
docs Loading commit data...
editors Loading commit data...
examples Loading commit data...
java Loading commit data...
js Loading commit data...
kokoro Loading commit data...
m4 Loading commit data...
objectivec Loading commit data...
php Loading commit data...
protoc-artifacts Loading commit data...
python Loading commit data...
ruby Loading commit data...
src Loading commit data...
third_party Loading commit data...
util/python Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
BUILD Loading commit data...
CHANGES.txt Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS.txt Loading commit data...
LICENSE Loading commit data...
Makefile.am Loading commit data...
Protobuf.podspec Loading commit data...
README.md Loading commit data...
WORKSPACE Loading commit data...
appveyor.bat Loading commit data...
appveyor.yml Loading commit data...
autogen.sh Loading commit data...
compiler_config_setting.bzl Loading commit data...
composer.json Loading commit data...
configure.ac Loading commit data...
generate_changelog.py Loading commit data...
generate_descriptor_proto.sh Loading commit data...
post_process_dist.sh Loading commit data...
protobuf-lite.pc.in Loading commit data...
protobuf.bzl Loading commit data...
protobuf.pc.in Loading commit data...
six.BUILD Loading commit data...
tests.sh Loading commit data...
update_file_lists.sh Loading commit data...