I know others have this same problem as I recall similar discussions so, for for anyone who is having problems on this front, here is the cleanest solution I know. This is one of the reasons why I LOVE the substitution option. Fortunately the error message lends itself to making this possible and easy. You may will want to add code to handle other errors.
Hopefully a real solution will be forthcoming. I know it is easy to say that the JSON should always be consistent, and I would love to live in that fantasy world, but in the library world (is this an example of irony?) it is rarely the case where XML and JSON feeds contain fields other than the ones that have values present.
If you don't intend to do anything to solve the problem would you be willing to send me the Extender code in a VS solution? I can roll one that works without resorting to such tricks like below. Happy to send the code back.
Thanks.
Jim
IntControl(73, 2, @TRUE, 1, 0)
publisher = jsValueGet(books,"[books][%x%].[publisher]")
:WBERRORHANDLER
If StrTrim(ItemExtract(1,wberrortextstring,":")) == 20108 Then
%wberroradditionalinfo% = ""
EndIf
IntControl(73, 2, @TRUE, 1, 0)
Return