Pe Henrik氏の言うとおり、Domino Access Servicesを使用できます。 Youlは、要求されたデータをJSON(または別のサーバーにある場合はJSONP)として返す独自のAPI /関数を記述することもできます。私はここでそれについてbloogedている:これらのリンクのサンプルコードもあり http://blog.texasswede.com/mwlug-2015/とhttp://blog.texasswede.com/my-connect-2016-presentation-demo-database/ : http://blog.texasswede.com/calling-a-notes-web-agent-from-another-server-using-jsonp/ は私もこのテーマをカバーして2つのプレゼンテーションを持っています。
しかし、そのような外部Webアプリケーションにデータを提供するLotusScriptエージェントを作成することは難しくありません。ここで
あなたがJSONを返すのに役立ちます私のLotusScriptのクラスである:
%REM
Library Class.JSON by Karl-Henry Martinsson
Created Oct 9, 2014 - Initial version
Updated Nov 6, 2015 - Added JSONP support
Description: Class to generate simple JSON from values
%END REM
Option Public
Option Declare
Class JSONdata
Private p_json List As String
Public Sub New()
'*** Set default value(s)
me.p_json("ajaxstatus") = ""
End Sub
%REM
Property Set success
Description: Set success to true or false
%END REM
Public Property Set success As Boolean
If me.success Then
Call me.SetValue("ajaxstatus","success")
Else
Call me.SetValue("ajaxstatus","error")
End If
End Property
%REM
Property Get success
Description: Not really used...
%END REM
Public Property Get success As Boolean
If me.p_json("ajaxstatus") = |"success"| Then
me.success = True
Else
me.success = False
End If
End Property
%REM
Sub SetMsg
Description: Set msg item
%END REM
Public Sub SetMsg(message As String)
Call me.SetValue("msg",message)
End Sub
Public Sub SetErrorMsg(message As String)
Call me.SetValue("errormsg",message)
me.success = False
End Sub
Public Sub SetValue(itemname As String, value As String)
Dim tmp As String
Dim delimiter As String
'*** Check for quote (double and single) and fix value if needed
tmp = Replace(value,Chr$(13),"<br>")
tmp = FullTrim(Replace(tmp,Chr$(10),""))
If InStr(tmp,|"|)>0 Then
If InStr(tmp,|'|)>0 Then
tmp = Replace(tmp,|"|,|"|)
delimiter = |"|
Else
delimiter = |'|
End If
Else
delimiter = |"|
End If
'*** Store value with delimiter in list
me.p_json(itemname) = delimiter & tmp & delimiter
End Sub
Public Sub SetData(itemname As String, value As String)
'*** Store value in list
me.p_json(itemname) = value
End Sub
%REM
Function GetJSON
Description: Return a JSON object as text
%END REM
Function GetJSON As String
Dim json As String
'*** Opening curly braces + CR
json = "{" + Chr$(13)
'*** Loop through all list elements and build JSON
ForAll j In me.p_json
json = json + |"| + ListTag(j) + |":| + j + "," + Chr$(13)
End ForAll
'*** Remove the comma after the last item
json = Left$(json,Len(json)-2) + Chr$(13)
'*** Add closing curly bracket and return JSON
json = json + "}"
GetJSON = json
End Function
%REM
Sub SendToBrowser
Description: Print JSON to browser, with correct MIME type
%END REM
Public Sub SendToBrowser()
'*** MIME Header to tell browser what kind of data we will return (JSON).
'*** See http://www.ietf.org/rfc/rfc4627.txt
Print "content-type: application/json"
Print me.GetJSON
End Sub
%REM
Sub SendJSONPToBrowser
Description: Print JSONP to browser, with correct MIME type
%END REM
Public Sub SendJSONPToBrowser(callbackFunction As String)
'*** MIME Header to tell browser what kind of data we will return (Javascript).
'*** See http://www.rfc-editor.org/rfc/rfc4329.txt
Print "content-type: application/javascript"
Print callbackFunction + "(" + me.GetJSON + ")"
End Sub
End Class
あなたは –
Dominoはまた、WebサーバーとアプリケーションサーバーでDominoデータへのRESTインターフェイスを取得するには、Dominoアクセスサービスを使用することができます、あなたはそこからレポートを作成することができます –
また、Javaでコーディングし、Jackson、Gson、JSON.simpleなどのライブラリを使用して、ドミノでWebサービスプロバイダを作成することもできます。 –