es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tenga la seguridad – Expresión JSON no válida: Script1.groovy: 1: Entrada inesperada: ”[‘

Estoy intentando recuperar el id del flujo de trabajo que tiene “type”:”system” utilizando una expresión JSON.

Método:

public static int getSystemWorkflowId(final Map<string, string=""> cookies) {
    return workflow.get(cookies).then().extract().jsonPath().getInt("$..workflows[?(@.type =='system')].id");
}

Carga útil:

{
    "workflows": [
        {
            "id": 1,
            "name": "Flujo de trabajo de contratación",
            "type": "system",
            "options": [],
            "active": 1
        },
        {
            "id": 3,
            "name": "TestWorkflow",
            "options": [],
            "active": 1
        }
    ]
}

Error:

> java.lang.IllegalArgumentException: Invalid JSON expression:
> Script1.groovy: 1: Unexpected input: '[' @ line 1, column 39.
>                             $..workflows[?(@.type =='system')].id

He probado la expresión en un evaluador en línea y parece funcionar…Gracias!</string,>

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Es posible que el problema esté en las comillas simples utilizadas en la expresión JSON. Prueba modificar la expresión para usar comillas dobles en su lugar:

    $..workflows[?(@.type =="system")].id
    

    Luego actualiza el método getSystemWorkflowId para usar la expresión JSON modificada:

    public static int getSystemWorkflowId(final Map<string, string=""> cookies) {
        return workflow.get(cookies)
            .then()
            .extract()
            .jsonPath()
            .getInt("$..workflows[?(@.type ==\"system\")].id");
    }
    

    Esto debería resolver el error IllegalArgumentException y permitirte recuperar la ID del flujo de trabajo con "type":"system" utilizando la expresión JSON.</string,>

Comments are closed.