I've been asked whether it's possible for JMP to export a data table in JSON format, where everything contained within that data table - including all table properties and formulae - can be exported in such a way that it can be retrieved (if necessary by coding in another language) by someone else who doesn't necessarily have access to JMP. I've already taken a look at the post below on this forum from two years ago, and concluded that even if it can be done, it's probably not a trivial task: Define JSON structure for data exchange which supports table & column properties
This was however posted two years ago, and it occurred to me that somebody might have written a script in the meantime to provide a means of selectively choosing what types of properties to include, e.g. table variables, column formulae, column parameters for nonlinear optimization, row colors and/or symbols, column groupings etc - and if so, I could learn a lot from it. Does anyone have anything they could share?
You can select File > Save As and select JSON as the format. The data is saved, consistent with exporting JMP data tables to other formats such as .XLSX. JMP formula have no meaning to other software. Same is true for table variables and scripts, and data column attributes and properties. I am using JMP 15. That might be the first version with this capability, but someone might know better than me.
Just to clarify, I appreciate that the metadata may not usable by other software, but it could potentially still incorporate information that a user might want to retrieve. In this particular instance, the user would like to be able to extract information such as the owner, the original creation date and the file location of the spreadsheet that was originally imported into JMP (and we have an assortment of JSL scripts that automatically store such information as table variables when the JMP table is initially created). Another example would be data sets that incorporate fitted models: in such cases the final set of parameter estimates would need to be retrievable at some point in the future, even though the person who wants to retrieve them doesn't actually want to run the model (and indeed without JMP they obviously wouldn't be able to anyway).
I take it for granted that actually extracting such metadata would require coding in whatever other language or package was being used at the time - but unless the JSON file did actually contain it somewhere, then obviously it wouldn't be possible. If it can't actually be stored anyway, I'll probably need to change the way I store it - for example by creating additional columns to contain it within the main body of the table.
Many thanks for your help on this.
Given that most or all of the ancillary info would need to be interpreted by whatever is reading the JSON file, could you just export the table script, or table script without data, and let the other system parse that? You could script saving the table data in JSON format and then adding an element containing the table script. This is not exactly what you are asking for, but maybe a step closer..
"(and indeed without JMP they obviously wouldn't be able to anyway)."