WEBサイトの製作、管理、とかの日記ブログです。

<<   2018年04月   >>
SunMonTueWedThuFriSat
1234567
891011121314
15161718192021
22232425262728
2930     
新着記事
カテゴリ
過去ログ
コメント
掲示板
検索
楽天トラベルAPIの地区コードAPIの出力が意味不明・・・
ここ数日楽天の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]で決め打ちしちゃえば良いのかな?

この記事へのコメント
areaClasses.largeClassesの下が、
areaClasses.largeClasses[0].largeClass
areaClasses.largeClasses[1].middleClasses
なんだな。わけわからんw
XMLで出力すると普通な感じだが・・・
管理人 2015-12-09 03:44:43
違う
areaClasses.largeClasses[0].largeClass[0].largeClassCode
areaClasses.largeClasses[0].largeClass[1].middleClasses
こうか
管理人 2015-12-09 03:45:58
なんとか突破した。
施設検索APIにエリアコード使う場合は、detailClassが存在する場合はdetailClassまで指定しないとダメらしい。

施設検索APIもformatVersion=2すると2重配列になってる・・・
管理人 2015-12-09 04:26:19
APIのレスポンス糞すぎるから、記録はJSONテキストでまとめて記録する感じにした。
というか、JSONで取得できるAPIならJSONでまとめてDB記録しちゃった方が楽だし、DBアクセス減らせて良いかもしれん。
管理人 2015-12-09 06:51:35
Do not Levitra pen ebay Buy online usa Medical uses for viagra Viagra ohne rezept online .
x 2017-04-12 21:20:56
名前:
URL
コメント:
この記事へのトラックバック :
whblog 1.5