The JSON data source parses the input JSON expression by using JSONPath and populates the specified properties with the parsed values.
Tip: | To learn how to set up a data source loop and refer to data source properties in your tests, see this topic. |
You can use data sources of the JSON type in the DataSource test step in SoapUI. They are not available in ServiceV.
Configuration
Source Step
Specifies a test step that contains the JSON property to read from. For example, another data source or REST Request test step.
Source Property
Specifies the property that contains JSON data.
Row Path
The JSONPath expression that returns an array element. The data source will iterate through the elements of this array and obtain the data. You can specify the expression manually or click and select the desired element with the Select Row Path dialog. See an example below.
Column Paths
JSONPath expressions that return the desired property values. ReadyAPI applies these expressions to the JSON structure returned by the JSONPath expression specified in the Row Path.
The data source assigns data to the properties in the order they are listed in the Properties panel.
![]() |
Make sure the number of properties is the same as the number of JSONPath expressions. |
To add a new expression, click Add.
To change the selected expression manually, click Edit. Also, you can click and select the desired element with the Select Column Path dialog.
To remove the selected expression, click Remove.
To learn how to specify Column Paths, see the example below.
Example
The following example demonstrates how to configure a JSON data source:
1. Specify the source property
In the Source Step drop-down list, specify a test step whose property contains JSON data. Specify this property in the Source Property drop down list.
For example, you can specify a REST Request test step, the response to which contains JSON data:

2. Select data to iterate through
In the Row Path, specify the JSONPath expression that returns an array object with the desired data.
Assume you have the following JSON data:
JSON
{
"store" : {
"book" : [
{
"category" : "reference",
"author" : "Nigel Rees",
"title" : "Sayings of the Century",
"price" : {
"usd" : 8.95,
"euro" : 8.95,
"pound" : 7.95
}
},
{
"category" : "fiction",
"author" : "Evelyn Waugh",
"title" : "Sword of Honour",
"price" : {
"usd" : 12.99,
"euro" : 12.99,
"pound" : 11.99
}
},
{
"category" : "fiction",
"author" : "Herman Melville",
"title" : "Moby Dick",
"isbn" : "0-553-21311-3",
"price" : {
"usd" : 8.99,
"euro" : 8.99,
"pound" : 7.99
}
},
{
"category" : "fiction",
"author" : "J. R. R. Tolkien",
"title" : "The Lord of the Rings",
"isbn" : "0-395-19395-8",
"price" : {
"usd" : 22.99,
"euro" : 22.99,
"pound" : 20.99
}
}
],
"bicycle" : {
"color" : "red",
"price" : {
"usd" : 19.95,
"euro" : 19.95,
"pound" : 17.95
}
}
}
}
To get a list of books, specify the following JSONPath expression:
You can specify the expression manually, or click and select the needed element by using the Select Row Path dialog:
3. Specify properties to obtain
-
Click
to add a new property.
ReadyAPI will add a new column path to the list.
-
If the name of the added property is the same as the name of the desired JSON object in the returned array, most likely, there is no need to customize the added JSONPath. Otherwise, perform the following steps to modify the JSONPath:
-
Select the added column path in the list.
-
Specify the JSONPath expression that returns the desired property. Note that ReadyAPI will apply this expression to the object returned by the Row Path JSONPath expression. For example, to get the price/usd property from the JSON data above, specify the following JSONPath expression:
['price']['usd']To specify the JSONPath expression, click
to specify the expression by using the Select Column Path dialog:
You can also click Edit and specify the expression manually.
-
-
Repeat the first two steps to add other properties.
-
Click
to test the data source:
See Also
DataSource Test Step
DataSource Loop Test Step
Groovy Data Source
Data Source Types