JSON view correctly handles start, end, and type