Zah
Zah

Reputation: 116

serialize an array of strings and null values

I'm using protobuf to serialize json from api for flutter app. however I'm having an issue where I need to serialize this list for example:

"value_array": [ "",
                    "",
                    null
                ]

If I use the usual:

repeated string value_array = 6;

I get an exception during parsing the json.

and sadly I can't have the json changed from api. even worse I can't just manually remove the null from json before parsing it as this element in json is repeated in many different api calls.

PS. I don't need to differentiate the empty string from null, just want to avoid the exception.

thanks in advance for any help.

Upvotes: 1

Views: 839

Answers (1)

Marc Gravell
Marc Gravell

Reputation: 1062925

protobuf has a very opinionated view on JSON, and not all JSON concepts map cleanly to protobuf concepts; for example, protobuf has no notion of null

It might be fine and reasonable to use the protobuf JSON variant if you're always talking protobuf-to-protobuf and want readability (hence text over binary), but if you're working with an external (non-protobuf) JSON tool, honestly: don't use protobuf. Use any relevant JSON-specific tool for your platform - it will do a better job of handling the JSON and supporting your needs. You can always re-map that data to your protobuf model after you have deserialized it, if you need.

Upvotes: 1

Related Questions