JSON-LD seems to be widely used. It is actually the structured data format recommended by Google Search.
However, it is not yet supported by Zotero or Citoid (as far as I know, although this is pending confirmation from @Mvolz). Hence, supporting this in Web2Cit may make a big difference.
Theoretically, because JSON-LD is part of the HTML, we should be able to select them with the XPath selection (already implemented). But using transformation steps afterwards to isolate the relevant metadata would be tedious and break-prone.
A specific JSON-LD selection step may have a configuration value to indicate what root or nested property in the JSON-LD one wants to select.
Because multiple JSON-LD objects may be present in one webpage, we should provide a way to indicate which one we want to select from. Should we concatenate all JSON-LD objects in a single array and select one of them using [n] indexing before indicating which property we want? For example, [1].author.name would select the name property of the author object of the second ([1]) JSON-LD object.
Alternatively, is there a standard JSON-LD query language, similar to XPath, we can use?