ここ数日楽天のAPI触ってるんだが、楽天トラベル地区コードAPIの出力が意味不明すぎる。
{
"areaClasses": {
"largeClasses": [
{
"largeClass": [
{
"largeClassCode": "japan",
"largeClassName": "日本"
},
{
"middleClasses": [
{
"middleClass": [
{
"middleClassCode": "hokkaido",
"middleClassName": "北海道"
},
{
"smallClasses": [
{
"smallClass": [
{
"smallClassCode": "sapporo",
"smallClassName": "札幌市内"
},
{
"detailClasses": [
{
"detailClass": {
"detailClassCode": "A",
"detailClassName": "JR札幌駅周辺・新札幌駅"
}
},
一番奥まででこんな感じになってる。
areaClasses.largeClassesが配列になってて、その下のareaClasses.largeClasses[0].largeClassも配列になってて、largeClassesとlargeClassは重複なのでlargeClasses[0]しか存在しないと思われる。
ここはリクエスト時にformatVersion=2とすれば重複が削除でき、ここ数日使ってる他APIではformatVersion=2が扱いやすいのだが、地区コードAPIでformatVersion=2するとareaClasses.largeClassesが2重配列になってる上に、middleClasses以下の重複が除外できていない。
middleClasses以下も重複配列になっているのだが、detailClasses[0].detailClassは配列ではなくハッシュになってる。
detailClassは1重配列で取って、smallClass以上は2番目以降の要素が存在しないと思われるClassesを[0]で決め打ちしちゃえば良いのかな?