JSON-Datenabruf-API

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Abfragen von Daten durch Ausgabe einer HTTPS-GET-Anforderung an die Instanz.

    Standardmäßig wird eine GET-Anforderung als GET-Funktion interpretiert, wenn eine vorhanden ist sysparm_sys_idParameter ist vorhanden. Andernfalls wird sie als Funktion „getRecords“ interpretiert. Sie können auch einen URL-Parameter angeben sysparm_action=get. Abfrageantworten werden immer durch einen Datensatz-Hash von Datensätzen gekapselt, wobei die Werte jedes einzelnen Datensatzes nach Feldnamen gehasht werden.

    Rückgabewert für Referenzvariablen

    Wenn Sie einen Datensatz von einer Funktion „get“ oder „getRecords“ erhalten, werden alle mit diesem Datensatz verknüpften Felder zurückgegeben. Die Felder sind häufig Referenzfelder, die eine sys_id für eine andere Tabelle enthalten. Das grundlegende Systemverhalten ist das Zurückgeben des sys_id-Werts für diese Felder. Verwenden Sie eine der folgenden Optionen, um den Anzeigewert für das Feld zurückgeben zu lassen:
    • Fügen Sie die Eigenschaft „glide.json.return_displayValue“ zu den Systemeigenschaften hinzu. Jede JSON-Anforderung gibt einen Anzeigewert für ein Referenzfeld zurück.
    • Fügen Sie den Parameter hinzu displayvalue=trueAn die JSON-Anforderungs-URL und JSON-Anforderungen mit diesem Parameter geben einen Anzeigewert anstelle von zurück sys_ID Für ein Referenzfeld. Die JSON-URL würde folgendermaßen aussehen:
      https://<instance name>.service-now.com/incident.do?JSON&sysparm_action=getRecords&sysparm_query=active=true^category=hardware&displayvalue=true
      
    • Fügen Sie den Parameter hinzu displayvalue=allAn die JSON-Anforderungs-URL und JSON-Anforderungen mit diesem Parameter geben einen Anzeigewert und zurück sys_ID Für ein Referenzfeld. Dem Antwortelementnamen für das Anzeigewertfeld wird das Präfix dv_ vorangestellt, zum Beispiel dv_caller_id.

    Rufen Sie Variablen ab

    Verwenden Sie displayvariablesAbfrageparameter, um ein Array von Variablen zurückzugeben, die einem zugeordnet sind Servicekatalog Elementdatensatz. Um Variablen abzurufen, fügen Sie den Parameter hinzu displayvariables=trueZur JSON-Anforderungs-URL. Beispiel: Hier ist eine URL zum Abrufen eines Datensatzes im JSON-Format, der Folgendes enthält Servicekatalog Variablen:

    https://<your-instance>.servicenow.com/sc_req_item.do?JSONv2&sysparm_action=getRecords&sysparm_query=sys_id=5018da81742bd410f8771974894916fe&displayvariables=true
    Hier ist die Beispielantwort, die einen mehrzeiligen Variablensatz aus dem Datensatz anzeigt:
    {
       "records":[
          {
             …
             "variables":[
                {
                   "display_value":[
                      {
                         "quantity":"1",
                         "color":"Black",
                         "device_type":"Apple iPhone 8",
                         "storage":"64GB"
                      },
                      {
                         "quantity":"1",
                         "color":"Black",
                         "device_type":"Apple iPhone 8",
                         "storage":"64GB"
                      }
                   ],
                   "columns_meta":[
                      {
                         "name":"device_type",
                         "label":"Device Type",
                         "id":"da7d3f3241411300964ff05369414eca",
                         "type":5,
                         "order":"0"
                      },
                      {
                         "name":"storage",
                         "label":"Storage",
                         "id":"691e337241411300964ff05369414e31",
                         "type":5,
                         "order":"1"
                      },
                      {
                         "name":"color",
                         "label":"Color",
                         "id":"e89fb77241411300964ff05369414e74",
                         "type":5,
                         "order":"2"
                      },
                      {
                         "name":"quantity",
                         "label":"Quantity",
                         "id":"2d5f737241411300964ff05369414eaf",
                         "type":5,
                         "order":"3"
                      }
                   ],
                   "max_rows":50,
                   "name":"mobile_devices_set",
                   "id":"e84d3f3241411300964ff05369414e3e",
                   "type":"one_to_many",
                   "value":[
                      {
                         "quantity":"1",
                         "color":"black",
                         "device_type":"iphone8",
                         "storage":"64GB"
                      },
                      {
                         "quantity":"1",
                         "color":"black",
                         "device_type":"iphone8",
                         "storage":"64GB"
                      }
                   ],
                   "row_count":2
                },
                {
                   "question_text":"Department",
                   "name":"department",
                   "type":8,
                   "value":"Development",
                   "order":100
                },
                {
                   "question_text":"Who is this request for?",
                   "name":"requested_for",
                   "type":8,
                   "value":"System Administrator",
                   "order":100
                },
                {
                   "question_text":"When do you need this?",
                   "name":"needed_by",
                   "type":5,
                   "value":"Today",
                   "order":200
                },
                {
                   "question_text":"Business Justification",
                   "name":"business_justification",
                   "type":2,
                   "value":"Example justification",
                   "order":200
                }
             ],
           …
          }
       ]
    }

    Die Schlüssel in der Antwort sind wie folgt definiert:

    Schlüssel Beschreibung
    display_value Mehrzeilige Variable legt den Anzeigewert der Frage fest. Wird nur mit mehrzeiligen Variablensätzen zurückgegeben.
    Spalten_Meta Array von Metadaten des mehrzeiligen Variablensatzes, z. B. sys_ID und Name des Felds. Wird nur zurückgegeben, wenn die Variable mehrere Felder enthält.
    max_rows Maximale Anzahl von Zeilen, die im mehrzeiligen Variablensatz zulässig sind. Wird nur mit mehrzeiligen Variablensätzen zurückgegeben.
    name Fragename.
    id SYS_ID des mehrzeiligen Variablensatzes. Wird nur mit mehrzeiligen Variablensätzen zurückgegeben.
    type Typ der Frage.
    Wert Fragenwert.
    row_count Aktuelle Anzahl der Zeilen im mehrzeiligen Variablensatz. Wird nur mit mehrzeiligen Variablensätzen zurückgegeben.
    Question_Text Fragenbezeichnung. Wird nur mit einzeiligen Variablensätzen zurückgegeben.
    Bestellen Reihenfolge der Frage.

    Die Reihenfolge der Datensätze steuern

    Sie können die Reihenfolge festlegen, in der die Datensätze in der JSON-Antwort angezeigt werden. Um eine Reihenfolge festzulegen, verwenden Sie die Klauseln ORDERBY oder ORDERBYDESC in der URL-kodierten Abfrage. Beispiel:

    sysparm_query=active=true^ORDERBYnumber^ORDERBYDESCcategory

    filtert alle aktiven Datensätze, und sortiert die Ergebnisse zuerst in aufsteigender Reihenfolge nach Nummer und dann in absteigender Reihenfolge nach Kategorie. Weitere Informationen finden Sie unter Codierte Abfragezeichenfolgen .

    getKeys

    Rufen Sie ab sys_ID Von mehreren Datensätzen durch Angabe einer codierten Abfragezeichenfolge in sysparm_queryParameter.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getKeys&sysparm_query=active=true^category=hardware
    

    get

    Rufen Sie einen Datensatz direkt ab, indem Sie angeben sys_ID In einem sysparm_sys_idParameter.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_sys_id=9d385017c611228701d22104cc95c371
    
    Optional können Sie auch angeben sysparm_actionParameter:
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=get&sysparm_sys_id=9d385017c611228701d22104cc95c371
    

    getRecords

    Rufen Sie alle Datensätze ab, indem Sie eine codierte Abfragezeichenfolge in angeben sysparm_queryParameter.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getRecords&sysparm_query=active=true^category=hardware