CoupaのXMLとJSONの違い
JSONのデータ型
JSONの場合、Coupaはnull、boolean、number、およびstringをサポートします。 精度、バージョン、および同様の値は数値データ型を使用します。たとえば、小数点精度は文字列です。 明示的に呼び出されていないすべての値は、文字列型を使用します。
JSONとXMLの使用時のCoupaのREST APIの動作には、4つの違いがあります。
1. JSONは親ノードを使用しません
XMLでは、応答の最初と最後に親ノードを取得します。 JSONでは、応答で利用できる親ノードがありません。
XML応答
<?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>
JSONResponse
{
"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. 結果がない場合の異なる回答
GETクエリに一致する結果がない場合、XML応答は404エラーをスローし、JSON応答は空白の配列を提供します。
取得: https://dashmaster17-0.coupadev.com/api/accounts?id=NON_EXISTING
XML応答
<?xml version="1.0" encoding="UTF-8"?>
<errors>
<error>No results match your search criteria.</error>
</errors>
JSON取得API
[ ]
3. エラーメッセージの異なるノード
XML応答
<?xml version="1.0" encoding="UTF-8"?>
<errors>
<error>Segment 1 - Cost Center can't be blank.</error>
</errors>
JSON応答
{
"errors": {
"account": [
"Segment 1 - Cost Center can't be blank"
]
}
}
4. 住所の国API呼び出しごとに異なる応答
以下は、POST APIコールの2つの応答セットです。 http://localhost:3000/api/addresses
XML応答
<?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応答
{
"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"
}
このページに表示されている一部、または全ての内容は、機械翻訳によるものです。ご了承ください。