JSON

<< Click to Display Table of Contents >>

Navigation:  Sources >

JSON

JSON files may have complex structure and contains objects of different types. To select only necessary objects use XPath query passed in first parameter. When no parameters are passed, query will iterate top nodes, if file contain list of JSON objects, or children of root node. Column names may also contains XPath to reference child nodes or array elements (array elements has name "value").

Example: if we have JSON file animals.json with the following structure

 

 {
    "name": "Meowsy",
    "species" : "cat",
    "foods": {
      "likes": ["tuna", "catnip"],
      "dislikes": ["ham", "zucchini"]
    }
  },
  {
    "name": "Barky",
    "species" : "dog",
    "foods": {
      "likes": ["bones", "carrots"],
      "dislikes": ["tuna"]
    }
  },
  {
    "name": "Purrpaws",
    "species" : "cat",
    "foods": {
      "likes": ["mice"],
      "dislikes": ["cookies"]
    }
  }

 

We can select all top objects:

 

select name, species, "/foods/likes/value" from animals

 

Select all foods elements and first "likes" array value

 

select "/likes/value[0]" from animals('//foods')