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.