Your input tree JSON files must be in this format:


An example JSON file that matches the above JSON schema (also see the demo):


  • must be present, but can be null.
  • Each must be globally unique.
  • _meta.url will become a clickable link, and should represent items in that category so the user merging the tree’s can determine if the items in both nodes are semantically equal.
  • You can add any amount of _meta.* keys, as long as the values are strings. This is useful for meta data such as a sum of price, count of items etc. This data is useful when determining the best merge operation for that node.
    • It could be better to merge a category with few or no items into a parent category in order to show only categories with a meaningful amount of items in the output tree.


The above tree structure in plain text looks like this: