EOSIO table lookups are tricky, and tend to be one of the things I help developers with most-frequently.
I have a GUI-based Go tool (Cryptonym) that is designed for testing FIO contracts and by-far the most popular feature is the advanced table lookup ability. I’ve been wanting to re-build it so it didn’t require running a desktop application (and add some features that it was lacking). This new utility, part of an ongoing effort to port various tools I’ve built to Vue, is (without much fanfare) called fio-web-utils. The tables feature handles many of the advanced lookups needed to get useful data out of FIO tables.
The one thing that I found myself doing (too often!) was taking the JSON query sent to the API and using it to build queries in various languages. The one feature that I wanted the most was to have it scaffold that code for me. So far I’ve added bash, HTML (no external libraries required,) Go, NodeJS, and Python templates. It’s not perfect, but it goes a long way towards getting complex queries working quickly in a project.
I plan on putting together a post to explain some of the more mysterious aspects of querying EOSIO tables, but for the meantime, I hope this tool is useful! It’s available at the fio-utils site, and the source is on Github.