JSONStreamingAPI – Scoped

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 19 Minuten Lesedauer
  • 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:
    1. JSONStreamingBuilder(): Instantiiert das JSONStreamingBuilder-Objekt.
    2. 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.
    3. expresAt(): Optional. Legt eine Uhrzeit fest, zu der der Anhang abläuft. Muss auch die Methode withAttachment() aufrufen.
    4. 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:
    1. startObject(): Erstellt das übergeordnete JSON-Objekt.
    2. Methoden zum Generieren der JSON-Schlüssel-Wert-Paare, z. B. writeFieldName(), writeString()und writeNumberField().
    3. endObject(): Schließt das übergeordnete JSON-Objekt.
    4. getJSONString() oder getAttachmentId(): Gibt die von Ihnen erstellte JSON-Zeichenfolge oder Anhangs-ID zurück.
    5. 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.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 2. Ergebnisse
    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.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    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();
    }
    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 – 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().

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    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();
    }
    
    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 – endArray()

    Schließt ein Array innerhalb des übergeordneten JSON-Objekts.

    Rufen Sie zuerst die startArray()- Methode auf, um das Array zu öffnen.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 8. Ergebnisse
    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.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 10. Ergebnisse
    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.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 12. Ergebnisse
    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.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 14. Ergebnisse
    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();
    }
    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 – startArray()

    Öffnet ein Array innerhalb des übergeordneten JSON-Objekts.

    Fügen Sie die endArray()- Methode ein, um das Array zu schließen.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 16. Ergebnisse
    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.

    Tabelle : 17. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Der Name des Arrays.
    Tabelle : 18. Ergebnisse
    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.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 20. Ergebnisse
    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.

    Tabelle : 21. Parameter
    Name Typ Beschreibung
    Status Boolean Der boolesche Wert, der dem übergeordneten JSON-Objekt hinzugefügt werden soll.
    Gültige Werte:
    • Wahr
    • false
    Tabelle : 22. Ergebnisse
    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.

    Tabelle : 23. Parameter
    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:
    • Wahr
    • false
    Tabelle : 24. Ergebnisse
    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.

    Tabelle : 25. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Feldname, der dem übergeordneten JSON-Objekt hinzugefügt werden soll.
    Tabelle : 26. Ergebnisse
    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.

    Tabelle : 27. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 28. Ergebnisse
    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.

    Tabelle : 29. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Der Name des NULL-Felds.
    Tabelle : 30. Ergebnisse
    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.

    Tabelle : 31. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Der Name des Nummernfelds.
    encodedValue Zeichenfolge Der Wert des Zahlenfelds.
    Tabelle : 32. Ergebnisse
    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.

    Tabelle : 33. Parameter
    Name Typ Beschreibung
    text Zeichenfolge Rohtext, der dem übergeordneten JSON-Objekt hinzugefügt werden soll.
    Tabelle : 34. Ergebnisse
    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.

    Tabelle : 35. Parameter
    Name Typ Beschreibung
    text Zeichenfolge Der Zeichenfolgenwert, der dem übergeordneten JSON-Objekt hinzugefügt werden soll.
    Tabelle : 36. Ergebnisse
    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.

    Tabelle : 37. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Der Name des Felds, das dem übergeordneten JSON-Objekt hinzugefügt werden soll.
    Wert Zeichenfolge Der Wert des Felds.
    Tabelle : 38. Ergebnisse
    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();
    }