QA@IT
«回答へ戻る

訂正:var city = a.gis[0].city; ⇒ var city = a.gis[0].city_name;

1173
         a = eval('(' + data + ')');
     }
 
-    var pref = a.gis[0].pref_name;
-    var city = a.gis[0].city;
+    var pref = a.gis[0].pref_name;
+    var city = a.gis[0].city_name;
 
     // ・・・中略・・・
 }

最初の質問に書いてある「このとき、返されるJSONP」というのを見ると、getjyusyoo の引数に渡されるのは JSON の文字列のようですね(JavaScript オブジェクトではなくて)。

であれば、それをパースして JavaScript オブジェクトに変換してから処理してはいかがですか?

以下のような感じです(検証はしてませんので、あくまで「感じ」です)。

function getjyusyo(data) {
    var a = "";            
    if (typeof (JSON) !== 'undefined' && typeof (JSON.parse) === 'function') {
        a = JSON.parse(data);
    } else {
        a = eval('(' + data + ')');
    }

    var pref = a.gis[0].pref_name;
    var city = a.gis[0].city_name;

    // ・・・中略・・・
}

jQuery.ajax を使うとパース等を含めてもっと簡単にできるはずです。

最初の質問に書いてある「このとき、返されるJSONP」というのを見ると、getjyusyoo の引数に渡されるのは JSON の文字列のようですね(JavaScript オブジェクトではなくて)。

であれば、それをパースして JavaScript オブジェクトに変換してから処理してはいかがですか?

以下のような感じです(検証はしてませんので、あくまで「感じ」です)。

```
function getjyusyo(data) {
    var a = "";            
    if (typeof (JSON) !== 'undefined' && typeof (JSON.parse) === 'function') {
        a = JSON.parse(data);
    } else {
        a = eval('(' + data + ')');
    }

    var pref = a.gis[0].pref_name;
    var city = a.gis[0].city_name;

    // ・・・中略・・・
}
```

jQuery.ajax を使うとパース等を含めてもっと簡単にできるはずです。

回答を投稿

最初の質問に書いてある「このとき、返されるJSONP」というのを見ると、getjyusyoo の引数に渡されるのは JSON の文字列のようですね(JavaScript オブジェクトではなくて)。

であれば、それをパースして JavaScript オブジェクトに変換してから処理してはいかがですか?

以下のような感じです(検証はしてませんので、あくまで「感じ」です)。

function getjyusyo(data) {
    var a = "";            
    if (typeof (JSON) !== 'undefined' && typeof (JSON.parse) === 'function') {
        a = JSON.parse(data);
    } else {
        a = eval('(' + data + ')');
    }

    var pref = a.gis[0].pref_name;
    var city = a.gis[0].city;

    // ・・・中略・・・
}

jQuery.ajax を使うとパース等を含めてもっと簡単にできるはずです。

最初の質問に書いてある「このとき、返されるJSONP」というのを見ると、getjyusyoo の引数に渡されるのは JSON の文字列のようですね(JavaScript オブジェクトではなくて)。

であれば、それをパースして JavaScript オブジェクトに変換してから処理してはいかがですか?

以下のような感じです(検証はしてませんので、あくまで「感じ」です)。

```
function getjyusyo(data) {
    var a = "";            
    if (typeof (JSON) !== 'undefined' && typeof (JSON.parse) === 'function') {
        a = JSON.parse(data);
    } else {
        a = eval('(' + data + ')');
    }

    var pref = a.gis[0].pref_name;
    var city = a.gis[0].city;

    // ・・・中略・・・
}
```

jQuery.ajax を使うとパース等を含めてもっと簡単にできるはずです。