[ 
https://issues.apache.org/jira/browse/MESOS-8656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16394728#comment-16394728
 ] 

Qian Zhang commented on MESOS-8656:
-----------------------------------

RR: https://reviews.apache.org/r/66025/

> 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
>            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)

Reply via email to