0
votes

Comment obtenir deux champs différents avec le même nom dans une API de réponse à l'aide de repos assuré?

J'essaie de créer une automatisation d'essai pour obtenir une API d'obtenir à l'aide de repos-assuré et Java.

Cette API a le corps de réponse suivant: p>

{
    "items": [
        {
            "id": "3185",
            "customer_id": "299",
            "region": "São Paulo",
            "region_id": 1234,
            "country_id": "BR",
            "street": [
                "Av Paulista"
            ],
            "company": "Teste",
            "telephone": "(19) 99999-9999",
            "postcode": "",
            "city": "Valinhos",
            "firstname": "N/A",
            "lastname": "N/A",
            "middlename": null,
            "prefix": null,
            "suffix": null,
            "person_type": "PF",
            "document": "43448871703",
            "state_registry": null,
            "created_at": "2019-07-24 13:03:29"
        },
        {
            "id": "3188",
            "customer_id": "299",
            "region": "São Paulo",
            "region_id": 1234,
            "country_id": "BR",
            "street": [
                "Av Paulista"
            ],
            "company": "Teste",
            "telephone": "(19) 99999-9999",
            "postcode": "",
            "city": "Valinhos",
            "firstname": "N/A",
            "lastname": "N/A",
            "middlename": null,
            "prefix": null,
            "suffix": null,
            "person_type": "PJ",
            "document": "84047942000115",
            "state_registry": null,
            "created_at": "2019-07-24 13:03:30"
        }
    ]
}


0 commentaires

4 Réponses :


3
votes

Jetez un coup d'œil à cet article: https://techeplanet.com / parse-json-array-using-repos-assuré / xxx

Vous devez le régler un peu, pour extraire les éléments d'abord (votre tableau) à partir d'un objet de réponse de niveau supérieur.


0 commentaires

0
votes

Vous pouvez le faire facilement en utilisant JSONPATH: $. Éléments [*]. ID Cela vous donnera à la fois les identifiants.


1 commentaires

Cela ne fonctionnera que si vous utilisez Jayway's Json-Path ( Github.com/json-path/jsonpath < / a>) et non de la mise en œuvre JSON-Chemin de Rest-Assuré ( GITUB.COM /REST -ASSURÉE/REST -ASSURÉRÉE/WIKI/... ) que l'OP utilise. Comme spécifié dans la DOCS, Rest-assuré a utilisé Groovy GPath ( groovy-lang.org/processing -xml.html # _gpath ) Syntaxe pour son chemin JSON.



0
votes

Étant donné que vous utilisez Rest-Assuré, vous pouvez extraire ce que vous voulez directement de la réponse elle-même comme: xxx

Jayway's JSONPATH et JSONPATH de RESTRURE utilise des syntaxes différentes


0 commentaires

0
votes

Vous pouvez essayer ci-dessous le code.

Response response=given().contentType(ContentType.JSON).get("http://localhost:3000/posts");
        JsonPath jsonPathEvaluator = response.jsonPath();
        String title = jsonPathEvaluator.get("title[2]");
        String author=jsonPathEvaluator.get("author[2]");


0 commentaires