CoupaでのXMLとJSONの違い
JSONのデータ型
JSONの場合、Coupaはnull、boolean、number、およびstringsをサポートしています。精度、バージョン、および類似の値は、数値データ型を使用します。たとえば、DECIMAL精度は文字列です。明示的に呼び出されないすべての値は、文字列データ型を使用します。
JSONを使用する場合とXMLを使用する場合のCoupaのREST APIの仕組みには、4つの違いがあります。
1.JSONは親ノードを使用しません
XMLでは、応答の開始と終了で親ノードを取得します。JSONには、応答に使用できる親ノードがありません。
XML応答
<?xml version="1.0" encoding="UTF-8"?>
<account>
<id type="integer">41</id>
2016 <created-at type="dateTime">-10 -07 T 06:56:43 - 07:00</created-at>
2016 <updated-at type="dateTime">-10 -07 T 06:56:43 - 07:00</updated-at>
<name>account_1475848602.731066227</name>
<code>segment 11475848602928</code>
<active type="boolean">true</active>
<segment-1>segment 11475848602928</segment-1>
<segment-2 nil="true" />
---------------------------------------------
</account>
JSON回答
{
"ID ":43,
"created - at ":"2016 -10 -07 T 06:59:46 - 07:00 ",
"updated - at ":"2016 -10 -07 T 06:59:46 - 07:00 ",
"name ":" account_1475848721.456090234 ",
"code ":" segment 11475848721222 ",
"active ": true,
"segment -1 ":" segment 11475848721222 "
}
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>ありません。</error>
</errors>
JSON GET API
[]
3.エラーメッセージの異なるノード
XML応答
<?xml version="1.0" encoding="UTF-8"?>
<errors>
<error>区分1 -コストセンターは必須です。</error>
</errors>
JSON回答
{
"errors ": {
"ACCOUNT ": [
「セグメント1 -コストセンターは空欄にできません」
]
}
}
4.アドレス内の国API呼び出しに対する異なる応答
以下は、POST API呼び出しの2組の応答です。http :// localhost: 3000/api/addresses
XML応答
<?xml version="1.0" encoding="UTF-8"?>
<address>
<id type="integer">97</id>
2016 <created-at type="dateTime">-10 -07 T 07:19:07 - 07:00</created-at>
2016 <updated-at type="dateTime">-10 -07 T 07:19:07 - 07:00</updated-at>
<name>address_1475849947.739228964</name>
<location-code nil="true" />
<street1>2 W 5 th Ave</street1>
--------------------------------
<country>
<id type="integer">223</id>
<code>US</code>
<name>米国</name>
</country>
--------------------------------
</address>
JSON回答
{
"ID ":9 9、
"name ":" address_1475850128.91 ",
"street 1 ":"2 W 5 th Ave ",
"street 2 ":"スイート300 ",
"city ":「サンマテオ」、
"state ":"CA ",
"postal_code ":"94404 ",
"country_id ":2 2 3、
"ADDRESS_OWNER_TYPE ":"ビジネスグループ",
"parent_address_id ": null,
"COUNTRY ":「米国」
}