我得到的JSON数据如下所示
{"setsionID":7242750700467747000}
这个数字以前从服务器响应中获得,并在服务器端生成为JavaLong。客户端标识自己认为这个setsionID
并将其与请求一起发送。问题是当客户端的请求到达服务器时,我必须再次解析这个值以键入Long。我使用JsonPath,具体来说:
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path-assert</artifactId>
<version>0.8.1</version>
<scope>test</scope>
</dependency>
当我像这样解析JSON数据时
Long sessionID=JsonPath。读(json,“$.sessionID”);
我有个例外:
java.lang.类异常:java.lang.整数不能转换为java.lang.长
所以看起来数字被JsonPath解析为整数。这肯定会导致错误的结果,因为整数小于长。JsonPath中有没有方法解析并返回数据为长?
就我所见,应用编程接口不提供此选项。
所以我给你两个选择:
好的,我设法改变了一点JsonPath提供程序。现在我使用:
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>rest-assured</artifactId>
<version>1.7.2</version>
</dependency>
从那里我可以用
import com.jayway.restassured.path.json.JsonPath;
// ...
Long sessionID = JsonPath.with(json).getLong("sessionID");
此库中的符号相同,只是缺少$
一开始,我觉得根本没有必要。
有可能(json路径:2.4.0
):
JsonPath.parse(json).read("$.sessionID", Long.class);
查看更多:https://github.com/json-path/JsonPath#what-is-returned-when
问题内容: 我试图从罐子内的另一个类读取罐子内的文件。但是,我不断收到相同的错误:尝试读取度量标准时,捕获了类java.io.FileNotFoundException:metrics.yml 首先,让我的代码做这样的事情,假设它来自类的路径: 我还假设它可能会从罐子的底部开始移动,所以我也这样做了: 然后我注意到了这个线程。如何从Java的jar中读取文件?并发现我需要在路径前加一个“ /”。我
问题内容: 我得到以下代码: 当我运行此代码时,扫描仪将仅选择名字而不是姓氏。并且有时在尝试输入名称时会跳过一行,它会显示出来,好像我将名称留空并跳到下一个名称一样。我不知道是什么原因造成的。 我希望有一个人可以帮助我! 编辑:我试过in.nextLine(); 它修复了全名,但仍然保留一行,这是输出示例: 问题答案: 代替: 用: 读取字符,直到找到换行符
OutFile "REG_MULTI_SZ_Reader.exe" Name "REG_MULTI_SZ Reader" ShowInstDetails show !define HKEY_CLASSES_ROOT 0x80000000 !define HKEY_CURRENT_USER 0x80000001 !define HKEY_LOCAL_MACHINE
我收到错误: 错误类型错误: 无法读取在评估 (webpack-internal:///./node_modules/@angular/common/esm5/http.js:163) 处未定义的属性 “长度”在 Array.forEach () 在 httpHeaders.lazyInit (webpack-internal:///./node_modules/@angular/common/e
在Java(任何库)中,从像下面这样的json开始(具有嵌套字段、数组和嵌入文档): 然后应用以下jsonpath(作为示例,理想情况下是任何类型的jsonpath) 创建如下所示的json文档: 所以问题是:使用jsonpath不仅可以获取数据,还可以获取所有嵌套字段,并创建一个新的json作为输入的子集? 任何例子都像往常一样受到赞赏 注意:在对此进行了大量思考之后,我得出的结论是,我需要的是
尝试使用< code>getAuth请求来存储令牌。请求不调用API并抛出错误。 TypeError:无法在HttpHeaders.push处读取undefined的属性(读取“length”)../node _ modules/@ angular/common/Fe sm5/http . js . http headers . apply update(http . js:199)at http