[ https://issues.apache.org/jira/browse/MESOS-8656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Qian Zhang reassigned MESOS-8656: --------------------------------- Shepherd: Benjamin Mahler Assignee: Qian Zhang Story Points: 2 Target Version/s: 1.6.0 > Improve stout JSON -> protobuf message conversion to handle more valid JSONs > ---------------------------------------------------------------------------- > > Key: MESOS-8656 > URL: https://issues.apache.org/jira/browse/MESOS-8656 > Project: Mesos > Issue Type: Improvement > Reporter: Qian Zhang > Assignee: Qian Zhang > Priority: Major > > The followings are valid in JSON which can be successfully parsed by Google's > protobuf utility function {{JsonStringToMessage()}} but can NOT be parsed our > stout, i.e., call {{JSON::parse()}} to convert the JSON to a stout JSON > object and then call {{protobuf::parse()}} to parse the JSON object to a > protobuf message. > {code:java} > "int32": "-2147483647" > "int64": "-9223372036854775807" > "bool": "true" > {code} > The second step ({{protobuf::parse()}}) will fail with an error like this: > {code:java} > Not expecting a JSON string for field 'int32' > {code} > This error comes from {{Try<Nothing> operator()(const JSON::String& string)}} > which currently can only convert {{JSON::String}} to protobuf > string/bytes/enum, so we need to enhance it to be able to convert > {{JSON::String}} to bools and integers. > What we can parse currently are: > {code:java} > "int32": -2147483647 > "int64": -9223372036854775807 > "bool": true{code} > We should make the behavior of our stout JSON -> protobuf conversion > consistent with Google's. -- This message was sent by Atlassian JIRA (v7.6.3#76005)