Be sure to review our Idea Submission Guidelines for more information!
Submission GuidelinesI've been dealing with JSON since day one, and to be honest it isn't the best experience I've had.
Converting a hierarchical schema into a tabular one is't a straight forward process, but doing that everyday the old way is time and processing consuming.
What I'm proposing is a tool that can read JSON as input, then display a structural skeleton for the user, or the user can provide such skeleton for the tool, say let's say we have the following input:
{"menu": [{
"id": "File",
"popup": {
"menuitem": [
{"value": "New", "action": "CreateNewDoc", "icons": ["SAVE", "FLOPPY"]},
{"value": "Open", "action": "OpenDoc"},
{"value": "Close", "action": "CloseDoc", "conditions": [11,8,4]}
]
}
},
{
"id": "Edit",
"popup": {
"menuitem": [
{"value": "Cut", "action": "TextCut", icons: ["CUT", "SCISSORS"]},
{"value": "Copy", "action": "OpenDoc"},
{"value": "Paste", "action": "CloseDoc", "conditions": [5,17]}
]
}
}
],
"error": false
}
now to parse this into a table of menuitems we need to use:
All of this will give us the most primitive table we can have as:
2 | 5 | action | conditions | icons | value |
0 | 0 | CreateNewDoc | SAVE,FLOPPY | New | |
0 | 1 | OpenDoc | Open | ||
0 | 2 | CloseDoc | 11,8,4 | Close | |
1 | 0 | TextCut | CUT,SCISSORS | Cut | |
1 | 1 | OpenDoc | Copy | ||
1 | 2 | CloseDoc | 5,17 | Paste |
and now if we want to have the parent menu id along side with the menuitems, we will do that again as:
Now all of this is done with Concatenating of child items, as cross tab will allow us to only do Concat/First/Last for items with the same grouping values.
And now if we want to process children, count them, or extract their data into another table, we have to add more Filters, more CrossTab and more Joining to get parent IDs for future linking.
So what's I'm proposing?
I'm thinking of a Tool with an interface that give me the ability to choose:
the tool may extract the structure or let the user input such config as the following:
Or Input the Structure as a YAML formatted config or any other way.
This will allow the user to have a quick native tool that does what he wants as it should, and user can use it as much as he want for children and nested values. you just Stringify and repeat and only parse what you need every time.
I hope you consider this for me to replace tens of macros and tools into single tools such so.
Thanks for your help and time and all the best!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.