What JSON is
JSON is a text format for nested data: objects with named keys, arrays, strings, numbers, booleans and null. It has no date type and no comments.
Every web API, most configuration files and anything that talks to JavaScript.
What PNG is
A lossless image format. Text and thin lines stay exactly as drawn, which is what a table is made of.
Slides, chat messages, issue trackers, and anywhere a table has to travel as a picture rather than as data.
What changes when you convert JSON to PNG
Four shapes all read correctly: an array of objects, an array of arrays with a header row, an object of column arrays, and an object keyed by row id. A single wrapper key holding the array, which is how most APIs reply, is unwrapped automatically. Nested objects are flattened one level into dotted keys; anything deeper is kept as JSON text in the cell, because a table cannot hold a tree.
The table is drawn from the data onto a canvas rather than captured from the page, so the whole thing comes out however long it is and however much of it is on screen. Column widths are measured from the content, alternating rows are shaded, and the scale is adjustable so a table for a slide or a print layout can be drawn at two or three times the size.
What carries over from JSON to PNG
JSON records 4 things about a table that PNG has no way to hold.
JSON knows which of its values are numbers. PNG keeps only their appearance, so nothing downstream can sort or sum them without someone reading them back off the image first.
An empty cell and a missing one are the same thing in PNG, so a null and an empty string in the JSON both come out blank and can no longer be told apart.
JSON can hold a value that is itself a list or an object. PNG has only flat cells, so nested values are flattened into one cell rather than being spread across columns.
PNG is the end of the line for this data. Reading the table back out of it is a separate and much harder problem than writing it, so keep the JSON if you will need the values again.