We are using Domino LotusScript for many REST Requests to internal and external services, including HCL Volt MX Go Foundry as a services middleware for easier administration of services, easier configuration of auth services, also improving the overall security by not having to share API credentials with multiple developers.
Although we have achieved full functionality in all use-cases, we found some gaps in the current class implementation the relevant classes that should be improved within the next iterations:
Add Stringify() also for NotesJSONObject and NotesJSONArray
Create json objects (objects or arrays) without NotesJSONNavigator, e.g. with set json = New NotesJSONObject() or set json = New NotesJSONObject(parseJsonObjectString) and also append such freely created objects to a NotesJSONNavigator
Add jsonNavigator.getKeys(), jsonObject.getKeys()
Often the NotesJSONNavigator is already the NotesJsonObject or the NotesJsonArray that you want to process, but there is no known way of accessing this in this way, instead you have to loop through the properties with jsonNav.GetFirstElement() / jsonNav.GetNextElement() and access it in a cumbersome way with element.Value, or use a trick (via the new NotesJSONNavigator)
Direct access to an object (json object or array): xxx.GetObject(key) => Nothing/NotesJSONObject, xxx.GetArray(key) => Nothing/NotesJSONArray (xxx = NotesJSONNavigator, NotesJSONObject, NotesJSONArray)
Direct access for the usual data types such as GetInteger(), GetString(), GetLong(), possibly GetDate() for uniquely interpreted data types. GetDate() for clearly interpretable ISO-compatible time specifications or certain formats that could be defined as constants (SetDate(key, variantDateTime, FORMAT_CONSTANT) would also be convenient)
100% UTF-8/Unicode character support: At the moment, for example, we have a problem with keys containing german umlauts when accessing via Element.Name (I may open a support case for this).
Will add more content later in comments to this idea.