JSON-Datenabruf-API
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
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_IDFü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_IDFür ein Referenzfeld. Dem Antwortelementnamen für das Anzeigewertfeld wird das Präfixdv_vorangestellt, zum Beispieldv_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{
"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
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
sys_ID In einem sysparm_sys_idParameter.https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_sys_id=9d385017c611228701d22104cc95c371
https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=get&sysparm_sys_id=9d385017c611228701d22104cc95c371
getRecords
https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getRecords&sysparm_query=active=true^category=hardware