Skip to content

A lightweight JSON viewer focused on just the fields that matter. JTF runs entirely in your browser and works great on GitHub Pages. Drop in JSON files, explore them safely, and use templates to control what you see

License

Notifications You must be signed in to change notification settings

TheBIMsider/just-the-fields

Repository files navigation

Just the Fields (JTF)

Release License Open Source Tech GitHub Pages

JTF_Logo_White_Banner

A lightweight JSON viewer that helps you focus on just the fields that matter.

JTF runs entirely in your browser and works great on GitHub Pages.
Drop in JSON files, explore them safely, search across all uploads, and use templates to control what you see — in light or dark mode.

Live demo

👉 https://thebimsider.github.io/just-the-fields/

Runs entirely in your browser. No uploads. No installs.


What JTF is

  • A fast, browser-based JSON viewer
  • A way to explore large or messy JSON without writing code
  • A template-driven layout tool for records like Issues, RFIs, or API responses
  • A global search that finds matches across all uploaded JSON files
  • Offline-friendly and easy to host
Dataset view in light mode Dataset mode showing a large JSON array (light theme) Record mode view in dark mode Records mode using a Newforma Konekt Issues template (dark theme)

What JTF is not

  • Not a JSON editor
  • Not a validator or schema checker
  • Not a workflow tool
  • Not a backend service
  • Not a data exporter (aside from downloading templates)

JTF reads data. It does not change data.


Running JTF locally

Because browsers restrict file access when opening files directly, use a small local server.

Option A: VS Code Live Server

  1. Install the Live Server extension
  2. Right-click index.html
  3. Select Open with Live Server

Option B: Python

From the project folder:

python -m http.server 8080

How JTF views your JSON

JTF automatically adapts to common JSON shapes so you do not have to restructure your data first.

Dataset mode

Best for large, flat arrays (table-like data).

  • Automatically detected for large arrays
  • Filter rows
  • Jump to specific rows
  • Templates do not apply in this mode

Records mode

Best for API responses and structured objects.

  • Detects records from common wrapper shapes
  • Lets you select individual records
  • Templates control layout and record labels

You can override the mode at any time.

Global search

Global search lets you find values across all uploaded JSON files, regardless of how they are viewed.

  • Searches Records mode, Dataset mode, and single-object JSON files
  • Does not depend on templates or selected mode
  • Results show which file and record (or dataset row) matched
  • Clicking a result jumps directly to that location

Global search is designed for discovery: use it to answer “where does this value exist?” and then use the main viewer search to inspect it in context.


Templates

Templates let you define what fields appear and in what order.

They are:

  • Plain JSON files
  • Declarative (no logic, no scripting)
  • Safe if fields are missing
  • Easy to edit in any text editor

Templates control layout only.
When multiple templates are available, JTF can automatically pick the best match per record in Records mode.
For Combined exports, Auto works best with general templates (for example “Change Items – All types”). Different export shapes (Plain vs Combined) require different templates.

Templates support several display patterns, including:

  • Badges for status-like values
  • Chips for people, teams, and simple lists
  • Array cards for readable rendering of comments, attachments, and history
  • History cards for versions, workflow actions, and file activity

They cannot change app behavior or data.
Want the how-to? Start here: Templates in JTF


Getting started with templates

  • Click Download in the Templates panel to get a starter file
  • Or open the starter templates page (if it opens in your browser, use Save As)
  • Edit paths and labels (templates can be .json or .jsonc)
  • Upload the template back into JTF
  • Read the full guide: Templates in JTF

Note: Newforma Konekt data (Issues, RFIs, Submittals, Change Items, Files) can be exported in different shapes (Plain vs Combined), which always require different templates.


Template basics

A template contains:

  • templateName
  • Optional match rules (to control when it applies)
  • Optional recordLabel rules (for the record dropdown)
  • A layout made of sections and fields

If a field path does not exist, it is simply skipped.

Design goals

  • Keep it boring and readable
  • No dependencies
  • No build step
  • No framework lock-in
  • Easy to modify months or years later
  • Clear separation between global discovery and local inspection

If someone opens this code cold in the future, they should be able to follow it.


Contributing

Contributions are welcome, but keep the scope tight.

Please avoid proposals that add:

  • Template scripting or conditional logic
  • Data editing or write-back
  • Accounts, storage, or backends
  • Heavy dependencies or frameworks

Small, focused improvements are best.

See CONTRIBUTING.md for details.


License

This project is licensed under the BSD-3-Clause License.


Built with ❤️ & 🤖 AI assistance from ChatGPT by The BIMsider for the AECO community
Just the Fields: Your JSON Detective - See what matters.

About

A lightweight JSON viewer focused on just the fields that matter. JTF runs entirely in your browser and works great on GitHub Pages. Drop in JSON files, explore them safely, and use templates to control what you see

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published