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 PDF is
PDF describes a page: glyphs at coordinates, not rows and columns. A table in a PDF is a visual arrangement, not a data structure.
Reports, invoices, statements and anything sent to be read rather than processed.
What changes when you convert JSON to PDF
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 into a paginated document with the header repeated on every page, so a long table stays readable past page one. Page size, orientation and font size are all adjustable.
What carries over from JSON to PDF
JSON records 4 things about a table that PDF has no way to hold.
JSON knows which of its values are numbers. PDF keeps only their appearance, so nothing downstream can sort or sum them without someone reading them back off the page first.
An empty cell and a missing one are the same thing in PDF, 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. PDF has only flat cells, so nested values are flattened into one cell rather than being spread across columns.
PDF 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.