Unterschiede zwischen XML und JSON in Coupa

Datentypen in JSON

Für JSON unterstützt Coupa die folgenden Elemente: null, boolean, number und strings.  Genauigkeit, Version und ähnliche Werte verwenden den Datentyp Zahl, wobei Dezimalgenauigkeit beispielsweise eine Zeichenfolge ist.  Alle nicht explizit aufgerufenen Werte verwenden den String-Datentyp.  

Es gibt vier Unterschiede, die Sie beachten sollten, zwischen der Funktionsweise der REST-APIs von Coupa bei der Verwendung von JSON und der Verwendung von XML.

1. JSON verwendet keinen übergeordneten Knoten

In XML erhalten wir einen übergeordneten Knoten am Anfang und Ende der Antwort. In JSON ist kein übergeordneter Knoten als Antwort verfügbar.

XML-Antwort

<?xml version="1.0" encoding="UTF-8"?>
<account>
	 <id type="integer">41</id>
	 <created-at type="dateTime">2016-10-07T06:56:43-07:00</created-at>
	 <updated-at type="dateTime">2016-10-07T06:56:43-07:00</updated-at>
	 <name>account_1475848602.731066227</name>
	 <code>segment11475848602928</code>
	 <active type="boolean">true</active>
	 <segment-1>segment11475848602928</segment-1>
	 <segment-2 nil="true" />
	 ---------------------------------------------
</account>

JSON-Antwort

{
	 "id": 43,
	 "created-at": "2016-10-07T06:59:46-07:00",
	 "updated-at": "2016-10-07T06:59:46-07:00",
	 "name": "account_1475848721.456090234",
	 "code": "segment11475848721222",
	 "active": true,
	 "segment-1": "segment11475848721222"
}

2. Andere Antwort für keine Ergebnisse

Wenn keine Ergebnisse vorhanden sind, die mit der GET-Abfrage übereinstimmen, wird in unserer XML-Antwort ein 404-Fehler ausgelöst, wobei die JSON-Antwort ein leeres Array bereitstellt.

GET: https://dashmaster17-0.coupadev.com/api/accounts?id=NON_EXISTING

XML-Antwort

<?xml version="1.0" encoding="UTF-8"?>
<errors>
	 <error>No results match your search criteria.</error>
</errors>

JSON GET-API

 [ ]

3. Verschiedene Knoten für Fehlermeldung

XML-Antwort

 <?xml version="1.0" encoding="UTF-8"?>
<errors>
	 <error>Segment 1 - Cost Center can't be blank.</error>
</errors>

JSON-Antwort

{
	 "errors": {
			"account": [
				 "Segment 1 - Cost Center can't be blank"
			]
	 }
}

4. Unterschiedliche Antwort für Länder-API-Aufruf

Im Folgenden finden Sie die beiden Sätze von Antworten für einen POST-API-Aufruf: http://localhost:3000/api/addresses

XML-Antwort

<?xml version="1.0" encoding="UTF-8"?>
<address>
	 <id type="integer">97</id>
	 <created-at type="dateTime">2016-10-07T07:19:07-07:00</created-at>
	 <updated-at type="dateTime">2016-10-07T07:19:07-07:00</updated-at>
	 <name>address_1475849947.739228964</name>
	 <location-code nil="true" />
	 <street1>2 W 5th Ave</street1>
	 --------------------------------
	 <country>
				
			<id type="integer">223</id>
				
			<code>US</code>
				
			<name>United States</name>
	 </country>
	 --------------------------------
</address>

JSON-Antwort

{
	 "id": 99,
	 "name": "address_1475850128.91",
	 "street1": "2 W 5th Ave",
	 "street2": "Suite 300",
	 "city": "San Mateo",
	 "state": "CA",
	 "postal_code": "94404",
	 "country_id": 223,
	 "address_owner_type": "BusinessGroup",
	 "parent_address_id": null,
	 "country": "United States"
}

Parts or all of this page might have been machine-translated. We apologize for any inaccuracies.

  • Table Of Contents