みなさん、こんにちは。
Chromeでのみ発生するように思われるイライラする問題が発生しました。
var response = '{"01":"January","02":"February"}',
months = JSON.parse(response);
console.log(months['02']) // undefined in Chrome (my version is 24.0.1312.5 beta)
console.log(months[2]) // "February"
FirefoxとSafariはこれを期待どおりに処理しているようですが、Chromeは文字列のようなJSONキーを整数にキャストしています。
jQueryのparseJSONメソッドの動作は同じです(ブラウザーのJSON.parseメソッドに依存していると思います)。
私はこの特定のAPI応答形式にかなり縛られているので、サーバーの応答を変更したくありません。Chromeを期待どおりに動作させるための正しい方法はありますか?