---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# JSONStreamingBuilder: Bereichsbezogen

# JSONStreamingBuilder: Bereichsbezogen {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 Minuten Lesedauer

Erstellen Sie ein Builder-Objekt, das zum Erstellen einer großen Streaming-JSON-Nutzlast verwendet wird, die in einer REST- oder SOAP-Anforderung zum Senden von Massendaten an eine Drittanbieter-API verwendet wird. Sie können die Nutzlast auch als JSON-Zeichenfolge für eine Nicht-Streaming-Option erstellen.
Verwenden Sie diese Methoden im Skriptschritt Workflow-Studio mit dem Namespace-Bezeichner `sn_ih`. Sie können diese API beispielsweise verwenden, um im Skriptschritt Workflow-Studio eine JSON-Nutzlast 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 Workflow-Studio [Skriptschritt](https://www.servicenow.com/docs/access?context=javascript-step-action-designer&version=xanadu&pubname=xanadu-build-workflows&ft:locale=en-US).

Sie können diese API nur in der Umgebung Workflow-Studio verwenden.

## API-Aufrufreihenfolge {#JSONStreamingBuilderScopedAPI__section_owy_pd5_hlb}

Generieren Sie JSON-Payloads mit diesen APIs in der folgenden Reihenfolge:  

JSONStreamingBuilder: Erstellt ein Generatorobjekt
:   Verwenden Sie diese Methoden in der folgenden Reihenfolge, um ein Builder-Objekt zu erstellen:  
    1. JSONStreamingBuilder(): Instanziiert das JSONStreamingBuilder-Objekt.{#JSONStreamingBuilderScopedAPI__json-api-constructor}
    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.{#JSONStreamingBuilderScopedAPI__with-attachments}
    3. RunesAt(): Optional. Legt eine Uhrzeit fest, nach der der Anhang abläuft. Muss auch withAttachment()- Methode aufrufen.{#JSONStreamingBuilderScopedAPI__expires-at}
    4. build(): Gibt ein JSONStreamingAPI-Objekt zurück.{#JSONStreamingBuilderScopedAPI__build}
    {#JSONStreamingBuilderScopedAPI__ol_obn_dd5_hlb}

JSONStreamingAPI: Erstellt die JSON-Nutzlast
:   Verwenden Sie diese Methoden in der folgenden Reihenfolge, um die JSON-Payload zu erstellen:  
    1. startObject(): Erstellt das übergeordnete JSON-Objekt.{#JSONStreamingBuilderScopedAPI__start-object}
    2. Methoden zum Generieren der JSON-Schlüssel-Wert-Paare, z. B. writeFieldName(), writeString()und writeNumberField().
    3. endObject(): Schließt das übergeordnete JSON-Objekt.{#JSONStreamingBuilderScopedAPI__end-object}
    4. getJSONString() oder getAttachmentId(): Gibt die von Ihnen erstellte JSON-Zeichenfolge oder Anhangs-ID zurück.
    5. close(): Schließt das JSONStreamingAPI-Objekt.{#JSONStreamingBuilderScopedAPI__close}
    {#JSONStreamingBuilderScopedAPI__ol_yzk_qgn_hlb}

## Größenbeschränkungen {#JSONStreamingBuilderScopedAPI__section_qkj_sd5_hlb}

Über diese API generierte Nutzlasten dürfen diese Größenbeschränkungen nicht überschreiten:  
* Anhänge: 200 MB
* Zeichenfolgen: 5 MB
{#JSONStreamingBuilderScopedAPI__ul_llq_msw_3lb}

## Beispiele {#JSONStreamingBuilderScopedAPI__section_nzz_rd5_hlb}

Dieses Beispiel zeigt, wie Sie ein JSON-Objekt erstellen und es mit einem definierten Ablaufdatum in der Tabelle „Anhang" \[sys_attachment\] speichern.  

    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 zeigt dieses Beispiel, wie Sie im Skriptschritt die API verwenden und die Nutzlast als JSON-Zeichenfolge erstellen. 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()
        .writeTextElement("firstName","John")
        .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"
    } ]
    }

## JSONStreamingBuilder: JSONStreamingBuilder() {#ariaid-title2}

Instanziiert das JSONStreamingBuilder-Objekt.
{#JSB-JSONStreamingBuilder__table_mkq_q22_1lb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 1. Parameter]

{#JSB-JSONStreamingBuilder__table_mkq_q22_1lb}  

    var builder = new sn_ih.JSONStreamingBuilder()

## JSONStreamingBuilder -- build() {#ariaid-title3}

Gibt ein JSONStreamingAPI-Objekt zurück.
{#JSB-build__table_g3z_zf2_1lb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 2. Parameter]

{#JSB-build__table_g3z_zf2_1lb} {#JSB-build__table_h3z_zf2_1lb__entry__2}

| Typ | Beschreibung |
|-|-|
| JSONStreamingAPI | Streaming-JSON-Objekt, das zum Erstellen der Nutzlast verwendet wird. |
[Tabelle : 3. Ergebnisse]

{#JSB-build__table_h3z_zf2_1lb}  
Dieses Beispiel zeigt, wie Sie ein JSON-Objekt erstellen und es mit einem definierten Ablaufdatum in der Tabelle „Anhang" \[sys_attachment\] speichern.

    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();
    }

## JSONStreamingBuilder -- ExpiresAt(Object ExpiresAt) {#ariaid-title4}

Legt eine Uhrzeit fest, nach der der Anhang abläuft. Muss auch withAttachment()- Methode aufrufen. Wenn Sie diese Methode nicht aufrufen, läuft der Anhang zwei Stunden nach dem Erstellen des Anhangs ab.
{#JSB-expiresAt_O__table_wlk_hzt_hlb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| läuft um ab | [GlideDateTime](https://servicenow-prod.fluidtopics.net/u_rnp1jEndqk~Xtn_6vx_Q#c_GlideDateTimeScoped "Die bereichsbezogene GlideDateTime -Klasse bietet Methoden zum Ausführen von Vorgängen für GlideDateTime-Objekte.") | Objekt, das festgelegt wird, wenn der Anhang abläuft. * Mindestwert: 7200 Sekunden oder zwei Stunden ab Erstellung des Anhangs. Standard * Höchstwert: 172.800 Sekunden oder 48 Stunden ab Erstellung des Anhangs. {#JSB-expiresAt_O__ul_xsc_trx_3lb} |
[Tabelle : 4. Parameter]

{#JSB-expiresAt_O__table_wlk_hzt_hlb} {#JSB-expiresAt_O__table_xlk_hzt_hlb__entry__2}

| Typ | Beschreibung |
|-|-|
| JSONStreamingBuilder | Builder-Objekt, das zum Initiieren der JSON-Nutzlast verwendet wird. |
[Tabelle : 5. Ergebnisse]

{#JSB-expiresAt_O__table_xlk_hzt_hlb}  
Dieses Beispiel zeigt, wie Sie ein JSON-Objekt erstellen und es mit einem definierten Ablaufdatum in der Tabelle „Anhang" \[sys_attachment\] speichern.

    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();
    }

## JSONStreamingBuilder -- mit Anhang () {#ariaid-title5}

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.
{#JSB-withAttachment__table_fm2_dzt_hlb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 6. Parameter]

{#JSB-withAttachment__table_fm2_dzt_hlb} {#JSB-withAttachment__table_gm2_dzt_hlb__entry__2}

| Typ | Beschreibung |
|-|-|
| JSONStreamingBuilder | Builder-Objekt, das zum Initiieren der JSON-Nutzlast verwendet wird. |
[Tabelle : 7. Ergebnisse]

{#JSB-withAttachment__table_gm2_dzt_hlb}  
In diesem Beispiel wird gezeigt, wie die JSON-Nutzlast erstellt und als Anhang 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();
    }

Dieses Beispiel zeigt, wie die JSON-Payload erstellt und als Zeichenfolge gespeichert 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()
        .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"
    } ]
    }


