This is based on Mike Bostock's work: http://bl.ocks.org/mbostock/1062288. I wanted to include labels on some but not all of the nodes. The labels on the terminii appear as mouseover titles or tool tips. I also wanted some of the nodes to be collapsed on page load to allow the viewer to expand them as he or she saw fit.
There are two flags in the JSON file which would have to be built into any JSON file generator. The first is color which should be obvious. The second is 'show'. If this is present, the node appears collapsed when the page loads.