PythonでAPIの受信処理を作成していたときの失敗談です。
APIのレスポンスデータは、XML形式で送られてくる仕様となっていました。受信後、Python内で処理をするためにJSON形式に変換をおこなう形としました。
具体的には、
xmltodict.parse
を利用しました。
JSONに変換されたデータをPython内で処理していたのですが、たまにExceptionが発生して、処理に失敗するケースが発生しました。
結論を言いますと、
XML形式で受信した配列部分が1件しか無い場合は、JSONでは配列に変換されないというものでした。
例1:配列にならない場合
■XML
<ABC>
<DEF>DDEEFF</DEF>
</ABD>
■JSON
ABC:{
DEF:DDEEFF
}
例2:配列になる場合
■XML
<ABC>
<DEF>DDEEFF</DEF>
<DEF>DEFDEF</DEF>
</ABD>
■JSON
ABC:[
{ DEF:DDEEFF},
{ DEF:DEFDEF}
]
後で考えれば当たり前だと思うのですが。。。
(お問合せ・IT改善のご相談はこちら)