我有看起来像这样的 JSON 数据
{"sessionID":7242750700467747000}
该数字是先前从服务器响应中获得的,并在服务器端生成为 Java Long。客户端识别出自己认为这一点sessionID
并将其与请求一起发送。问题是当客户端的请求到达服务器时,我必须再次解析该值以键入 Long。我使用 JsonPath,特别是:
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path-assert</artifactId>
<version>0.8.1</version>
<scope>test</scope>
</dependency>
当我像这样解析 JSON 数据时
长 sessionID = JsonPath.read(json, "$.sessionID");
我得到一个例外:
java.lang.ClassCastException:java.lang.Integer 无法转换为 java.lang.Long
所以看起来这个数字被 JsonPath 解析为整数。这肯定会导致错误的结果,因为 Integer 小于 Long。JsonPath 中是否有任何方法可以将数据解析并返回为 Long?