メインコンテンツまでスキップ

 

 

Coupa Japanese

CoupaにおけるXMLとJSONの違い

このページは機械翻訳を使用して翻訳されています。


JSONのデータ型

JSONの場合、Coupaはnull、boolean、number、stringsをサポートしています。精度、バージョン、および類似の値は数値データタイプを使用します。たとえば、小数精度は文字列です。明示的に呼び出されていないすべての値は文字列データタイプを使用します。  

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>

JSONレスポンス

{
   "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応答は空の配列を提供します。

GET: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 GET 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コールの応答が異なります

<b id="i42"><b id="i41"><b id="i40">以下は、POST API呼び出しに対する2つの応答セットです</b></b></b><b id="i43"><a id="x28" xid="i18.1.1">。</a></b> 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"
}
  • この記事は役に立ちましたか?