text: import uuid
  import tkinter as tk
  from tkinter import ttk
  
  
  def j_tree(tree, parent, dic):
      for key in sorted(dic.keys()):
          uid = uuid.uuid4()
          if isinstance(dic[key], dict):
              tree.insert(parent, 'end', uid, text=key)
              j_tree(tree, uid, dic[key])
          elif isinstance(dic[key], tuple):
              tree.insert(parent, 'end', uid, text=str(key) + '()')
              j_tree(tree, uid,
                     dict([(i, x) for i, x in enumerate(dic[key])]))
          elif isinstance(dic[key], list):
              tree.insert(parent, 'end', uid, text=str(key) + '[]')
              j_tree(tree, uid,
                     dict([(i, x) for i, x in enumerate(dic[key])]))
          else:
              value = dic[key]
              if isinstance(value, str):
                  value = value.replace(' ', '_')
              tree.insert(parent, 'end', uid, text=key, value=value)
  
  
  def tk_tree_view(data):
      # Setup the root UI
      root = tk.Tk()
      root.title("tk_tree_view")
      root.columnconfigure(0, weight=1)
      root.rowconfigure(0, weight=1)
  
      # Setup the Frames
      tree_frame = ttk.Frame(root, padding="3")
      tree_frame.grid(row=0, column=0, sticky=tk.NSEW)
  
      # Setup the Tree
      tree = ttk.Treeview(tree_frame, columns=('Values'))
      tree.column('Values', width=100, anchor='center')
      tree.heading('Values', text='Values')
      j_tree(tree, '', data)
      tree.pack(fill=tk.BOTH, expand=1)
  
      # Limit windows minimum dimensions
      root.update_idletasks()
      root.minsize(root.winfo_reqwidth(), root.winfo_reqheight())
      root.mainloop()
  
  
  if __name__ == "__main__":
      # Setup some test data
      data = {
          "firstName": "John",
          "lastName": "Smith",
          "gender": "male",
          "age": 32,
          "address": {
              "streetAddress": "21 2nd Street",
              "city": "New York",
              "state": "NY",
              "postalCode": "10021"},
          "phoneNumbers": [
              {"type": "home", "number": "212 555-1234"},
              {"type": "fax",
               "number": "646 555-4567",
               "alphabet": [
                   "abc",
                   "def",
                   "ghi"]
               }
          ]}
  
      # call it with
      tk_tree_view(data)