Domino代理可以方便地通過HTTP請求輸出JSON(JavaScript Object Notation)格式的數據。JSON是一種輕量級的數據交換格式,它可以在不同的平臺之間快速地傳輸和解析數據。
要在Domino代理中輸出JSON,您需要編寫一個簡單的LotusScript代理。以下是一個簡單的LotusScript代理,它將輸出一個包含一些人員信息的JSON字符串:
Sub Initialize Dim session As New NotesSession Dim db As NotesDatabase Dim view As NotesView Dim doc As NotesDocument Dim json As String Dim jsonWriter As NotesJSONWriter Set db = session.CurrentDatabase Set view = db.GetView("People") Set doc = view.GetFirstDocument '創建JSONWriter并開始處理JSON String Set jsonWriter = session.CreateJSONWriter Call jsonWriter.BeginArray("") Call jsonWriter.BeginObject("") Call jsonWriter.WriteText("Message", "These are the people:") Call jsonWriter.BeginArray("People") '將Person文檔中的字段信息添加到JSON字符串中 Do While Not doc Is Nothing Call jsonWriter.BeginObject("") Call jsonWriter.WriteText("Name", doc.GetItemValue("Name")(0)) Call jsonWriter.WriteText("Age", doc.GetItemValue("Age")(0)) Call jsonWriter.EndObject() Set doc = view.GetNextDocument(doc) Loop Call jsonWriter.EndArray() Call jsonWriter.EndObject() Call jsonWriter.EndArray() '將JSON String作為HTTP響應發送回瀏覽器 json = jsonWriter.OuterHTML Call session.SetHTTPHeader("Content-Type", "application/json") Call session.SetHTTPHeader("Content-Length", CStr(Len(json))) Call session.SendResponse(json) End Sub
該代理首先連接到當前數據庫并獲取一個稱為"People"的視圖。然后,它在People視圖中迭代每個文檔,并將每個人的名稱和年齡存入JSON字符串中。
最后,該代理將JSON字符串作為HTTP響應發送回瀏覽器。瀏覽器可以使用JavaScript或任何其他語言來解析和顯示收到的JSON字符串。