Based on Scenario 1: Extracting JSON data from a file using JSONPath without setting a loop node, this scenario extracts the store name and the book information from the JSON file Store.json using XPath queries and displays the flat data extracted on the console.
In the Studio, open the Job used in Scenario 1: Extracting JSON data from a file using JSONPath without setting a loop node to display it in the design workspace.
Double-click the tFileInputJSON component to open its Basic settings view.
Select Xpath from the Read By drop-down list.
Click the [...] button next to Edit schema to open the schema editor.
Select the five columns added previously and click the [x] button to remove all of them.
Click the [+] button to add five columns, store_name, book_title, book_category, and book_author of String type, and book_price of Double type.
Click OK to close the schema editor. In the pop-up dialog box, click Yes to propagate the schema to the subsequent component.
In the Loop XPath query field, enter the XPath query expression between double quotation marks to specify the node on which the loop is based. In this example, it is "/store/goods/book".
In the XPath query fields of the Mapping table, enter the XPath query expressions between double quotation marks to specify the nodes that hold the desired data.
For the column store_name, enter the XPath query "../../name" relative to the name node.
For the columns book_title, book_category, book_author, and book_price, enter the XPath query expressions "title", "category", "author", and "price" relative to the four child nodes of the book node respectively.
Press Ctrl+S to save the Job.
Press F6 to execute the Job.
As shown above, the store name and the book information are extracted from the source JSON data and displayed in a flat table on the console.