com.google.protobuf.InvalidProtocolBufferException:预期类型:DOUBLE 的值无效:{“value”:“640.0n”,“type”:“Big Number”}

com.google.protobuf.InvalidProtocolBufferException: Invalid value: {"value":"640.0n","type":"Big Number"} for expected type: DOUBLE

提问人:Sourav Singh 提问时间:9/14/2023 最后编辑:Marcono1234Sourav Singh 更新时间:9/17/2023 访问量:57

问:

我正在解析 json 响应,但每次我收到此错误消息都不确定如何修复它 加载 JavaScript 以验证 JsonSchema 中的正ECMA262表达式,因为 Java 中的 java.util.regex 包与 ECMA262 不匹配

com.google.protobuf.InvalidProtocolBufferException: Invalid value: {"value":"640.0n","type":"Big Number"} for expected type: DOUBLE
    at com.google.protobuf.util.JsonFormat$ParserImpl.parseFieldValue(JsonFormat.java:1964)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeField(JsonFormat.java:1662)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeMessage(JsonFormat.java:1493)
    at com.google.protobuf.util.JsonFormat$ParserImpl.merge(JsonFormat.java:1451)
    at com.google.protobuf.util.JsonFormat$ParserImpl.parseFieldValue(JsonFormat.java:2011)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeField(JsonFormat.java:1662)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeMessage(JsonFormat.java:1493)
    at com.google.protobuf.util.JsonFormat$ParserImpl.merge(JsonFormat.java:1451)
    at com.google.protobuf.util.JsonFormat$ParserImpl.parseFieldValue(JsonFormat.java:2011)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeRepeatedField(JsonFormat.java:1726)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeField(JsonFormat.java:1658)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeMessage(JsonFormat.java:1493)
    at com.google.protobuf.util.JsonFormat$ParserImpl.merge(JsonFormat.java:1451)
    at com.google.protobuf.util.JsonFormat$ParserImpl.parseFieldValue(JsonFormat.java:2011)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeRepeatedField(JsonFormat.java:1726)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeField(JsonFormat.java:1658)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeMessage(JsonFormat.java:1493)
    at com.google.protobuf.util.JsonFormat$ParserImpl.merge(JsonFormat.java:1451)
    at com.google.protobuf.util.JsonFormat$ParserImpl.parseFieldValue(JsonFormat.java:2011)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeRepeatedField(JsonFormat.java:1726)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeField(JsonFormat.java:1658)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeMessage(JsonFormat.java:1493)
    at com.google.protobuf.util.JsonFormat$ParserImpl.merge(JsonFormat.java:1451)
    at com.google.protobuf.util.JsonFormat$ParserImpl.parseFieldValue(JsonFormat.java:2011)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeRepeatedField(JsonFormat.java:1726)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeField(JsonFormat.java:1658)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeMessage(JsonFormat.java:1493)
    at com.google.protobuf.util.JsonFormat$ParserImpl.merge(JsonFormat.java:1451)
    at com.google.protobuf.util.JsonFormat$ParserImpl.parseFieldValue(JsonFormat.java:2011)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeRepeatedField(JsonFormat.java:1726)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeField(JsonFormat.java:1658)
    at com.google.protobuf.util.JsonFormat$ParserImpl.mergeMessage(JsonFormat.java:1493)
    at com.google.protobuf.util.JsonFormat$ParserImpl.merge(JsonFormat.java:1451)
    at com.google.protobuf.util.JsonFormat$ParserImpl.merge(JsonFormat.java:1333)
    at com.google.protobuf.util.JsonFormat$Parser.merge(JsonFormat.java:473)type here

com.google.protobuf.InvalidProtocolBufferException:预期类型:DOUBLE 的值无效:{“value”:“640.0n”,“type”:“Big Number”}

它应该正确解析 json 响应

JSON 解析 gson 协议缓冲区

评论

0赞 DazWilkin 9/18/2023
JSON 不对应于 类型的协议缓冲区架构。如果要使用 创建一个测试,并使用 ,作为 的值,您将得到 JSON 封送消息。相反,您的 JSON 似乎包含 of 类型和 called 类型的描述符(也是 type ),可以将值的类型描述为 。valuedoubleMessagedouble value640.0value{"value":640}valuestringtypestringBig Number
0赞 DazWilkin 9/18/2023
如果没有对应用程序或协议缓冲区架构的任何描述,就很难提供帮助。

答: 暂无答案