JSONStreamingAPI – Scoped
Erstellen Sie eine große Streaming-JSON-Nutzlast, die in einer REST- oder SOAP-Anforderung zum Senden von Massendaten an eine Drittanbieter-API verwendet werden soll. Sie können die Nutzlast auch als JSON-Zeichenfolge für eine Nicht-Streaming-Option erstellen.
Verwenden Sie diese Methoden im Skriptschritt Flow Designer mit dem Namespace-Identifier sn_ih. Beispielsweise können Sie diese API verwenden, um eine JSON-Nutzlast im Skriptschritt Flow Designer zu erstellen und den zurückgegebenen Wert an den REST-Schritt zu übergeben, um die Anforderung an einen Drittanbieterservice zu senden. Weitere Informationen finden Sie im Flow Designer Skriptschritt.
Sie können diese API nur in der Umgebung Flow Designer verwenden.
Um diese Klasse zu verwenden, müssen Sie die build()- Methode in der JSONStreamingBuilder -Klasse aufrufen, um ein JSONStreamingAPI-Objekt zurückzugeben. Weitere Informationen finden Sie unter JSONStreamingBuilder – Scoped.
API-Aufrufreihenfolge
Generieren Sie JSON-Nutzlasten mit diesen APIs in der folgenden Reihenfolge:
- JSONStreamingBuilder: Erstellt ein Generatorobjekt
- Verwenden Sie diese Methoden in der folgenden Reihenfolge, um ein Generatorobjekt zu erstellen:
- JSONStreamingBuilder(): Instantiiert das JSONStreamingBuilder-Objekt.
- withAttachment(): Optional. Erstellt das JSON-Objekt als Streaming-Anhang und speichert es in der Tabelle „Streaming-Anhänge“ [streaming_attachment]. Wenn Sie diese Methode nicht aufrufen, erstellt die API die Nutzlast als JSON-Zeichenfolge.
- expresAt(): Optional. Legt eine Uhrzeit fest, zu der der Anhang abläuft. Muss auch die Methode withAttachment() aufrufen.
- build(): Gibt ein JSONStreamingAPI-Objekt zurück.
- JSONStreamingAPI: Erstellt die JSON-Nutzlast
- Verwenden Sie diese Methoden in der folgenden Reihenfolge, um die JSON-Nutzlast zu erstellen:
- startObject(): Erstellt das übergeordnete JSON-Objekt.
- Methoden zum Generieren der JSON-Schlüssel-Wert-Paare, z. B. writeFieldName(), writeString()und writeNumberField().
- endObject(): Schließt das übergeordnete JSON-Objekt.
- getJSONString() oder getAttachmentId(): Gibt die von Ihnen erstellte JSON-Zeichenfolge oder Anhangs-ID zurück.
- close(): Schließt das JSONStreamingAPI-Objekt.
Größenbeschränkungen
Über diese API generierte Nutzlasten dürfen diese Größenbeschränkungen nicht überschreiten:
- Anhänge: 200 MB
- Zeichenfolgen: 5 MB
Beispiel
In diesem Beispiel wird ein JSON-Objekt erstellt und in der Tabelle „Anhang“ [sys_attachment] mit einem definierten Ablaufdatum gespeichert. Sie können diese Option verwenden, um Nutzlasten unter 5 MB zu erstellen.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.JSONStreamingBuilder()
.withAttachment() // Creates the JSON object in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the JSONStreamingAPI object.
builder.startObject() // Begins generating the JSON object.
.writeFieldName("firstName") // Adds a "firstName" field
.writeString("John") // Writes the value of the "firstName" field
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25") // Write a number field named "age" with value "25"
.writeFieldName("address")
.startObject() // Start a new object nested under the parent object
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray() // Start an array
.startObject() // Add the first object to the array
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject() // Add another object to the array
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
}
catch (err) {
gs.log(err);
}
finally {
builder.close();
}Alternativ wird in diesem Beispiel die API im Skriptschritt verwendet und die Nutzlast als JSON-Zeichenfolge erstellt. Sie können diese Option verwenden, um Nutzlasten unter 5 MB zu erstellen.
(function execute(inputs, outputs) {
var builder = new sn_ih.JSONStreamingBuilder().build();
builder.startObject()
.enablePrettyPrint()
.writeFieldName("firstName")
.writeString("John")
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25")
.writeFieldName("address")
.startObject()
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray()
.startObject()
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject()
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
outputs.payload = builder.getJSONString();
})(inputs, outputs);Ausgabe:
{
"firstName" : "John",
"lastName" : "Smith",
"age" : 25,
"address" : {
"streetAddress" : "21 2nd Street",
"city" : "Santa Clara",
"state" : "CA",
"postalCode" : "11111"
},
"phoneNumber" : [ {
"type" : "home",
"number" : "212 555-1234"
}, {
"type" : "fax",
"number" : "646 555-4567"
} ]
}JSONStreamingAPI – close()
Schließt das JSONStreamingAPI-Objekt. Muss diese Methode aufrufen, um den Stream nach dem Erstellen eines JSON-Objekts zu schließen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
Dieses Beispiel zeigt, wie ein JSON-Objekt erstellt und in der Tabelle „Anhang“ [sys_attachment] mit einem definierten Ablaufdatum gespeichert wird.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.JSONStreamingBuilder()
.withAttachment() // Creates the JSON object in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the JSONStreamingAPI object.
builder.startObject() // Begins generating the JSON object.
.writeFieldName("firstName") // Adds a "firstName" field
.writeString("John") // Writes the value of the "firstName" field
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25") // Write a number field named "age" with value "25"
.writeFieldName("address")
.startObject() // Start a new object nested under the parent object
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray() // Start an array
.startObject() // Add the first object to the array
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject() // Add another object to the array
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
}
catch (err) {
gs.log(err);
}
finally {
builder.close();
}
JSONStreamingAPI – disablePrettyPrint()
Beendet die JSON-Formatierung für den JSON-Druck.
Bevor Sie diese Methode aufrufen, müssen Sie zuerst enablePrettyPrint() aufrufen, um einem bestimmten Abschnitt die JSON-Formatierung hinzuzufügen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
In diesem Beispiel wird dem Adressobjekt eine Druckformatierung hinzugefügt.
try {
var builder = new sn_ih.JSONStreamingBuilder().build();
builder.startObject()
.writeFieldName("firstName")
.writeString("John")
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25")
.enablePrettyPrint()
.writeFieldName("address")
.startObject()
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.disablePrettyPrint()
.writeFieldName("phoneNumber")
.startArray()
.startObject()
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject()
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getJSONString());
}
catch (err) {
gs.log("Exception: " + err);
}
finally {
builder.close();
}
{"firstName":"John","lastName":"Smith","age":25,
"address" : {
"streetAddress" : "21 2nd Street",
"city" : "Santa Clara",
"state" : "CA",
"postalCode" : "11111"
},"phoneNumber":[{"type":"home","number":"212 555-1234"},{"type":"fax","number":"646 555-4567"}]}JSONStreamingAPI – enablePrettyPrint()
Fügt einem JSON-Objekt oder einem Abschnitt eines JSON-Objekts eine Druckformatierung hinzu.
Um die Formatierung in einem JSON-Objekt zu deaktivieren, verwenden Sie die Methode disablePrettyPrint().
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
try {
var builder = new sn_ih.JSONStreamingBuilder().build();
builder.enablePrettyPrint()
.startObject()
.writeFieldName("firstName")
.writeString("John")
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25")
.writeFieldName("address")
.startObject()
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray()
.startObject()
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject()
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getJSONString());
}
catch (err) {
gs.log("Exception: " + err);
}
finally {
builder.close();
}
{
"firstName" : "John",
"lastName" : "Smith",
"age" : 25,
"address" : {
"streetAddress" : "21 2nd Street",
"city" : "Santa Clara",
"state" : "CA",
"postalCode" : "11111"
},
"phoneNumber" : [ {
"type" : "home",
"number" : "212 555-1234"
}, {
"type" : "fax",
"number" : "646 555-4567"
} ]
}JSONStreamingAPI – endArray()
Schließt ein Array innerhalb des übergeordneten JSON-Objekts.
Rufen Sie zuerst die startArray()- Methode auf, um das Array zu öffnen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
Dieses Beispiel zeigt, wie ein JSON-Objekt erstellt und in der Tabelle „Anhang“ [sys_attachment] mit einem definierten Ablaufdatum gespeichert wird.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.JSONStreamingBuilder()
.withAttachment() // Creates the JSON object in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the JSONStreamingAPI object.
builder.startObject() // Begins generating the JSON object.
.writeFieldName("firstName") // Adds a "firstName" field
.writeString("John") // Writes the value of the "firstName" field
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25") // Write a number field named "age" with value "25"
.writeFieldName("address")
.startObject() // Start a new object nested under the parent object
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray() // Start an array
.startObject() // Add the first object to the array
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject() // Add another object to the array
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
}
catch (err) {
gs.log(err);
}
finally {
builder.close();
}
JSONStreamingAPI – endObject()
Schließt ein Objekt innerhalb des übergeordneten JSON-Objekts.
Rufen Sie zuerst die startObject()- Methode auf, um das Objekt zu öffnen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
Dieses Beispiel zeigt, wie ein JSON-Objekt erstellt und in der Tabelle „Anhang“ [sys_attachment] mit einem definierten Ablaufdatum gespeichert wird.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.JSONStreamingBuilder()
.withAttachment() // Creates the JSON object in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the JSONStreamingAPI object.
builder.startObject() // Begins generating the JSON object.
.writeFieldName("firstName") // Adds a "firstName" field
.writeString("John") // Writes the value of the "firstName" field
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25") // Write a number field named "age" with value "25"
.writeFieldName("address")
.startObject() // Start a new object nested under the parent object
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray() // Start an array
.startObject() // Add the first object to the array
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject() // Add another object to the array
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
}
catch (err) {
gs.log(err);
}
finally {
builder.close();
}
JSONStreamingAPI – getAttachmentId()
Gibt die sys_id des Anhangdatensatzes in der Tabelle „Streaming-Anhänge“ [streaming_attachment] zurück, die die JSON-Nutzlast enthält.
Sie müssen die withAttachment()- Methode in der JSONStreamingBuilder -Klasse aufrufen, um die JSON-Nutzlast als Anhang zu speichern, bevor Sie diese Methode aufrufen. Weitere Informationen finden Sie unter JSONStreamingBuilder – Scoped.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Sys_id des Anhangdatensatzes in der Tabelle „Streaming-Anhänge“ [streaming_attachment], die die JSON-Nutzlast enthält. |
Dieses Beispiel zeigt, wie ein JSON-Objekt erstellt und in der Tabelle „Anhang“ [sys_attachment] mit einem definierten Ablaufdatum gespeichert wird.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.JSONStreamingBuilder()
.withAttachment() // Creates the JSON object in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the JSONStreamingAPI object.
builder.startObject() // Begins generating the JSON object.
.writeFieldName("firstName") // Adds a "firstName" field
.writeString("John") // Writes the value of the "firstName" field
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25") // Write a number field named "age" with value "25"
.writeFieldName("address")
.startObject() // Start a new object nested under the parent object
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray() // Start an array
.startObject() // Add the first object to the array
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject() // Add another object to the array
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
}
catch (err) {
gs.log(err);
}
finally {
builder.close();
}
JSONStreamingAPI – getJSONString()
Gibt das JSON-Objekt als Zeichenfolge zurück.
Um das JSON-Objekt als Zeichenfolge zurückzugeben, rufen Sie nicht die Methode withAttachment() in der Klasse JSONStreamingBuilder auf. Weitere Informationen finden Sie unter JSONStreamingBuilder – Scoped.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Enthält das JSON-Objekt, das mit der JSONStreamingAPI erstellt wurde. |
try {
var builder = new sn_ih.JSONStreamingBuilder().build();
builder.startObject()
.writeFieldName("firstName")
.writeString("John")
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25")
.writeFieldName("address")
.startObject()
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray()
.startObject()
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject()
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getJSONString());
}
catch (err) {
gs.log("Exception: " + err);
}
finally {
builder.close();
}
{
"firstName" : "John",
"lastName" : "Smith",
"age" : 25,
"address" : {
"streetAddress" : "21 2nd Street",
"city" : "Santa Clara",
"state" : "CA",
"postalCode" : "11111"
},
"phoneNumber" : [ {
"type" : "home",
"number" : "212 555-1234"
}, {
"type" : "fax",
"number" : "646 555-4567"
} ]
}JSONStreamingAPI – startArray()
Öffnet ein Array innerhalb des übergeordneten JSON-Objekts.
Fügen Sie die endArray()- Methode ein, um das Array zu schließen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
Dieses Beispiel zeigt, wie ein JSON-Objekt erstellt und in der Tabelle „Anhang“ [sys_attachment] mit einem definierten Ablaufdatum gespeichert wird.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.JSONStreamingBuilder()
.withAttachment() // Creates the JSON object in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the JSONStreamingAPI object.
builder.startObject() // Begins generating the JSON object.
.writeFieldName("firstName") // Adds a "firstName" field
.writeString("John") // Writes the value of the "firstName" field
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25") // Write a number field named "age" with value "25"
.writeFieldName("address")
.startObject() // Start a new object nested under the parent object
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray() // Start an array
.startObject() // Add the first object to the array
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject() // Add another object to the array
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
}
catch (err) {
gs.log(err);
}
finally {
builder.close();
}
JSONStreamingAPI – startArrayField(String fieldName)
Erstellt ein Array innerhalb des übergeordneten JSON-Objekts.
Umgeben Sie diese Methode mit den Methoden startArray() und endArray(), um das Array zu öffnen und zu schließen.
| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Der Name des Arrays. |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
try {
var builder = new sn_ih.JSONStreamingBuilder().build();
builder.startObject()
.writeFieldName("firstName")
.writeString("John")
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25")
.writeFieldName("address")
.startObject()
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.startArrayField("phoneNumber")
.startArray()
.startObject()
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject()
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getJSONString());
}
catch (err) {
gs.log("Exception: " + err);
}
finally {
builder.close();
}
JSONStreamingAPI – startObject()
Öffnet ein Objekt innerhalb des übergeordneten JSON-Objekts.
Erfordert die endObject()- Methode, um das Objekt zu schließen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
Dieses Beispiel zeigt, wie ein JSON-Objekt erstellt und in der Tabelle „Anhang“ [sys_attachment] mit einem definierten Ablaufdatum gespeichert wird.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.JSONStreamingBuilder()
.withAttachment() // Creates the JSON object in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the JSONStreamingAPI object.
builder.startObject() // Begins generating the JSON object.
.writeFieldName("firstName") // Adds a "firstName" field
.writeString("John") // Writes the value of the "firstName" field
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25") // Write a number field named "age" with value "25"
.writeFieldName("address")
.startObject() // Start a new object nested under the parent object
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray() // Start an array
.startObject() // Add the first object to the array
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject() // Add another object to the array
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
}
catch (err) {
gs.log(err);
}
finally {
builder.close();
}
JSONStreamingAPI – writeBoolean(Boolean state)
Fügt dem übergeordneten JSON-Objekt einen booleschen Wert hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| Status | Boolean | Der boolesche Wert, der dem übergeordneten JSON-Objekt hinzugefügt werden soll. Gültige Werte:
|
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
try {
var builder = new sn_ih.JSONStreamingBuilder().build();
builder.startObject()
.writeFieldName("firstName")
.writeString("John")
.writeFieldName("lastName")
.writeString("Smith")
.writeFieldName("activeUser")
.writeBoolean(true)
.writeNumberField("age","25")
.writeFieldName("address")
.startObject()
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray()
.startObject()
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject()
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getJSONString());
}
catch (err) {
gs.log("Exception: " + err);
}
finally {
builder.close();
}
JSONStreamingAPI – writeBooleanField(String fieldName, Boolean value)
Fügt dem übergeordneten JSON-Objekt ein boolesches Feld und einen Wert hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Der Name des Felds, das dem übergeordneten JSON-Objekt hinzugefügt werden soll. |
| Wert | Boolean | Der boolesche Wert, der dem übergeordneten JSON-Objekt hinzugefügt werden soll. Gültige Werte:
|
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
try {
var builder = new sn_ih.JSONStreamingBuilder().build();
builder.startObject()
.writeFieldName("firstName")
.writeString("John")
.writeFieldName("lastName")
.writeString("Smith")
.writeBooleanField("activeUser", true)
.writeNumberField("age","25")
.writeFieldName("address")
.startObject()
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray()
.startObject()
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject()
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getJSONString());
}
catch (err) {
gs.log("Exception: " + err);
}
finally {
builder.close();
}
JSONStreamingAPI – writeFieldName(String name)
Fügt dem übergeordneten JSON-Objekt einen Feldnamen hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Feldname, der dem übergeordneten JSON-Objekt hinzugefügt werden soll. |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
Dieses Beispiel zeigt, wie ein JSON-Objekt erstellt und in der Tabelle „Anhang“ [sys_attachment] mit einem definierten Ablaufdatum gespeichert wird.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.JSONStreamingBuilder()
.withAttachment() // Creates the JSON object in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the JSONStreamingAPI object.
builder.startObject() // Begins generating the JSON object.
.writeFieldName("firstName") // Adds a "firstName" field
.writeString("John") // Writes the value of the "firstName" field
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25") // Write a number field named "age" with value "25"
.writeFieldName("address")
.startObject() // Start a new object nested under the parent object
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray() // Start an array
.startObject() // Add the first object to the array
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject() // Add another object to the array
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
}
catch (err) {
gs.log(err);
}
finally {
builder.close();
}
JSONStreamingAPI – writeNull()
Fügt dem übergeordneten JSON-Objekt einen NULL-Wert hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
try {
var builder = new sn_ih.JSONStreamingBuilder().build();
builder.startObject()
.writeFieldName("firstName")
.writeString("John")
.writeFieldName("lastName")
.writeString("Smith")
.writeFieldName("activeUser")
.writeNull()
.writeNumberField("age","25")
.writeFieldName("address")
.startObject()
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray()
.startObject()
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject()
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getJSONString());
}
catch (err) {
gs.log("Exception: " + err);
}
finally {
builder.close();
}
JSONStreamingAPI – writeNullField(String fieldName)
Fügt dem übergeordneten JSON-Objekt ein Feld mit einem Nullwert hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Der Name des NULL-Felds. |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
try {
var builder = new sn_ih.JSONStreamingBuilder().build();
builder.startObject()
.writeFieldName("firstName")
.writeString("John")
.writeFieldName("lastName")
.writeString("Smith")
.writeNullField("activeUser")
.writeNumberField("age","25")
.writeFieldName("address")
.startObject()
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray()
.startObject()
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject()
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getJSONString());
}
catch (err) {
gs.log("Exception: " + err);
}
finally {
builder.close();
}
JSONStreamingAPI – writeNumberField(String fieldName, String encodedValue)
Fügt dem übergeordneten JSON-Objekt ein Zahlenfeld und einen Wert hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Der Name des Nummernfelds. |
| encodedValue | Zeichenfolge | Der Wert des Zahlenfelds. |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
Dieses Beispiel zeigt, wie ein JSON-Objekt erstellt und in der Tabelle „Anhang“ [sys_attachment] mit einem definierten Ablaufdatum gespeichert wird.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.JSONStreamingBuilder()
.withAttachment() // Creates the JSON object in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the JSONStreamingAPI object.
builder.startObject() // Begins generating the JSON object.
.writeFieldName("firstName") // Adds a "firstName" field
.writeString("John") // Writes the value of the "firstName" field
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25") // Write a number field named "age" with value "25"
.writeFieldName("address")
.startObject() // Start a new object nested under the parent object
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray() // Start an array
.startObject() // Add the first object to the array
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject() // Add another object to the array
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
}
catch (err) {
gs.log(err);
}
finally {
builder.close();
}
JSONStreamingAPI – writeRaw(String text)
Fügt dem übergeordneten JSON-Objekt einen Rohwert hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| text | Zeichenfolge | Rohtext, der dem übergeordneten JSON-Objekt hinzugefügt werden soll. |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
try {
var builder = new sn_ih.JSONStreamingBuilder().build();
builder.startObject()
.writeFieldName("firstName")
.writeString("John")
.writeFieldName("lastName")
.writeString("Smith")
.writeFieldName("filePath")
.writeRaw("C:\Users\profile\aboutme.html")
.writeNumberField("age","25")
.writeFieldName("address")
.startObject()
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray()
.startObject()
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject()
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getJSONString());
}
catch (err) {
gs.log("Exception: " + err);
}
finally {
builder.close();
}
JSONStreamingAPI – writeString(String text)
Fügt dem übergeordneten JSON-Objekt einen Zeichenfolgenwert hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| text | Zeichenfolge | Der Zeichenfolgenwert, der dem übergeordneten JSON-Objekt hinzugefügt werden soll. |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
Dieses Beispiel zeigt, wie ein JSON-Objekt erstellt und in der Tabelle „Anhang“ [sys_attachment] mit einem definierten Ablaufdatum gespeichert wird.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.JSONStreamingBuilder()
.withAttachment() // Creates the JSON object in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the JSONStreamingAPI object.
builder.startObject() // Begins generating the JSON object.
.writeFieldName("firstName") // Adds a "firstName" field
.writeString("John") // Writes the value of the "firstName" field
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25") // Write a number field named "age" with value "25"
.writeFieldName("address")
.startObject() // Start a new object nested under the parent object
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray() // Start an array
.startObject() // Add the first object to the array
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject() // Add another object to the array
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
}
catch (err) {
gs.log(err);
}
finally {
builder.close();
}
JSONStreamingAPI – writeStringField(String fieldName, String value)
Fügt dem übergeordneten JSON-Objekt ein Zeichenfolgenfeld und einen Wert hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Der Name des Felds, das dem übergeordneten JSON-Objekt hinzugefügt werden soll. |
| Wert | Zeichenfolge | Der Wert des Felds. |
| Typ | Beschreibung |
|---|---|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
Dieses Beispiel zeigt, wie ein JSON-Objekt erstellt und in der Tabelle „Anhang“ [sys_attachment] mit einem definierten Ablaufdatum gespeichert wird.
try {
var ttl = new GlideDateTime("2011-01-01 12:00:00");
var builder = new sn_ih.JSONStreamingBuilder()
.withAttachment() // Creates the JSON object in streaming mode within an attachment.
.expiresAt(ttl) // Sets an expiration date for the attachment.
.build(); // Creates the JSONStreamingAPI object.
builder.startObject() // Begins generating the JSON object.
.writeFieldName("firstName") // Adds a "firstName" field
.writeString("John") // Writes the value of the "firstName" field
.writeFieldName("lastName")
.writeString("Smith")
.writeNumberField("age","25") // Write a number field named "age" with value "25"
.writeFieldName("address")
.startObject() // Start a new object nested under the parent object
.writeStringField("streetAddress", "21 2nd Street")
.writeStringField("city", "Santa Clara")
.writeStringField("state", "CA")
.writeStringField("postalCode", "11111")
.endObject()
.writeFieldName("phoneNumber")
.startArray() // Start an array
.startObject() // Add the first object to the array
.writeFieldName("type")
.writeString("home")
.writeFieldName("number")
.writeString("212 555-1234")
.endObject()
.startObject() // Add another object to the array
.writeFieldName("type")
.writeString("fax")
.writeFieldName("number")
.writeString("646 555-4567")
.endObject()
.endArray()
.endObject()
gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
}
catch (err) {
gs.log(err);
}
finally {
builder.close();
}