小编Vla*_*rin的帖子

JsonPath 中的通配符

我正在解析如下的 JSON:

jobs1: [
{
  request: {
    body: {
      jobID: "79ceeeff-53b9-4645-80bd-95dfca6fe1e9",
...
jobs2: [
{
  request: {
    body: {
      jobID: "60e7c286-f936-4f96-87bc-6bd55f107514",
Run Code Online (Sandbox Code Playgroud)

并寻找一种在 JSON 路径中使用通配符的方法。

我在 Java 中使用RestAssured框架。执行如下代码后:

List<String> ids = get("/state/").path("*.request.body.jobID");
System.out.println(ids);
Run Code Online (Sandbox Code Playgroud)

我希望得到:

[79ceeeff-53b9-4645-80bd-95dfca6fe1e9, 60e7c286-f936-4f96-87bc-6bd55f107514]
Run Code Online (Sandbox Code Playgroud)

但相反,我得到了一个例外:

java.lang.IllegalArgumentException: Invalid JSON expression:
Script1.groovy: 1: unexpected token: *. @ line 1, column 27.
                        *.request.body.jobID
                         ^
Run Code Online (Sandbox Code Playgroud)

我已经浏览了这些教程,但似乎没有什么对我有用:

https://github.com/json-path/JsonPath

http://goessner.net/articles/JsonPath

如何正确使用 JsonPath 中的通配符?

java groovy json jsonpath rest-assured

4
推荐指数
2
解决办法
8210
查看次数

添加 JScrollPane 时 JTextArea 消失

我是 Java Swing 的业余爱好者,无法解决以下问题。

一旦我添加JScrollPaneJTextArea,GUI 中就没有任何组件可见。

我知道在添加滚动条时不应该添加文本区域(我注释掉了该行),但这无济于事。

    frame = new JFrame();
    frame.setBounds(100, 100, 450, 300);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setLayout(null);

    JTextArea textArea = new JTextArea();
    textArea.setBounds(213, 11, 186, 240);
// NOT CALLING       frame.getContentPane().add(textArea);
    scroll = new JScrollPane(textArea);
    scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

    frame.getContentPane().add(scroll);
Run Code Online (Sandbox Code Playgroud)

它仅在我使用时对我有用BorderLayout,但这不是我想使用的布局。
我的目标是在框架中放置几个​​文本区域。

我该怎么做才能通过滚动显示文本区域,例如AbsoluteLayoutnull)?

java swing layout-manager null-layout-manager

1
推荐指数
1
解决办法
784
查看次数