JSON Path Syntax
This video tutorial demonstrates, how you may use JSON path in vREST.
JSON Path is used to locate the data in JSON object. JSON Path is currently used in the following two functionalities of vREST:
- Variable Extractor tab
In variable extractor tab of a test case, you need to specify the JSON path in "Path" column. - JSON Body Assertions
In Assertions tab, you need to specify JSON Path for JSON Body assertions in "Property" column.
Note: We are using jsonPath version 0.8.5. Just remove the prefixes "$."
in case of JSON object and "$
" in case of top level JSON array while defining JSON path expressions in vREST.
Below are some examples of most common scenarios for JSON path expressions.
For JSON Object Data
Below is the sample JSON Object for reference.{ "summary": "Sample Test Case ...", "method": "GET", "url": "http://localhost:3000/sample-test-case", "expectedResults": { "statusCode": 200, "headers": [ { "value": "Mon, 27 Jul 2015 06:38:31 GMT", "name": "Date" }, { "value": "application/json", "name": "Content-Type" } ] }, "createdAt": "2015-02-09T08:22:18.000Z", "version.0": "Version 0", "version.1": "Version 1" }
Â
- Top Level Property
- JSON Path Expression:Â
method
- Value:Â
GET
- JSON Path Expression:Â
- Nested Property
- JSON Path Expression:Â
expectedResults.statusCode
- Value:Â
200
- JSON Path Expression:Â
- Nested Property inside an array
- JSON Path Expression:Â
expectedResults.headers.0.name
- Value:Â
Date
- JSON Path Expression:Â
To verify the headers array length
JSON Path Expression: expectedResults.headers.length
Value: 2
When key also having a dot (Use Square Brackets)
JSON Path ExpressionÂ
['version.0']
Value:Â
Version 1
- Top Level Property
For JSON Array Data
Below is the sample JSON Array for reference.[ { "summary": "Sample Test Case 1", "method": "GET", "url": "http://localhost:3000/sample-test-case1" }, { "summary": "Sample Test Case 2", "method": "GET", "url": "http://localhost:3000/sample-test-case2" }, { "summary": "Sample Test Case 3", "method": "GET", "url": "http://localhost:3000/sample-test-case3" } ]
Â
- Nested property from Top level Array
- JSON Path Expression:Â
[0].method
- Value:Â
GET
- JSON Path Expression:Â
- To verify the length of Top level Array
- JSON Path Expression:Â
length
- Value: 3
- JSON Path Expression:Â
- Nested property from Top level Array
Â