質問: お世話になっております。 JavaプログラムでGoogle geocoorderを利用するバッチプログラムを作成しております。 開発環境 OS:Windows7 言語:Java7 JSON2.4 開発環境(eclipse)で上記のプログラムを作成しております。 eclipse上で実行した場合、正常に動作しましたので、別のWindows7/Jre7環境でクラスファイルを配備して、batファイルを作成して実行したところ、 net.sf.json.JSONException: Expected a ',' or '}' at character 122 of { "results" : [ { "address_components" : [ { "long_name" : "文字化け, "short_name" : "文字化け, "types" : [ " : ountry", "political" ] } ], "status" : "OK"} at net.sf.json.util.JSONTokener.syntaxError(JSONTokener.java:499) at net.sf.json.JSONObject._fromJSONTokener(JSONObject.java:1099) at net.sf.json.JSONObject.fromObject(JSONObject.java:159) at net.sf.json.util.JSONTokener.nextValue(JSONTokener.java:348) at net.sf.json.JSONArray._fromJSONTokener(JSONArray.java:1131) at net.sf.json.JSONArray.fromObject(JSONArray.java:125) at net.sf.json.util.JSONTokener.nextValue(JSONTokener.java:351) at net.sf.json.JSONObject._fromJSONTokener(JSONObject.java:1008) at net.sf.json.JSONObject.fromObject(JSONObject.java:159) at net.sf.json.util.JSONTokener.nextValue(JSONTokener.java:348) at net.sf.json.JSONArray._fromJSONTokener(JSONArray.java:1131) at net.sf.json.JSONArray.fromObject(JSONArray.java:125) at net.sf.json.util.JSONTokener.nextValue(JSONTokener.java:351) at net.sf.json.JSONObject._fromJSONTokener(JSONObject.java:1008) at net.sf.json.JSONObject._fromString(JSONObject.java:1201) at net.sf.json.JSONObject.fromObject(JSONObject.java:165) at net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:139) at net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:103) at net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:84) というようにエラーが発生しました。 受け取ったレスポンスをJSON形式でパースすする際にエラーが発生しているようです。 表示されるエラーを確認すると文字化けが発生しており、そのせいでJSON形式と認識されていないのではないか?と推測しております。 以下、疑問点です。 (1)当方の推測しているエラー要因で認識はあっているでしょうか? (2)eclipse環境とbatファイル実行環境はマシンスペックと実行方法、ディレクトリ以外はほぼ同じです。同じクラスファイル、同じjarファイルを使用してJSONの解析エラーが発生するのはなぜでしょうか? (3)何か環境的な問題だとは考えておりますが、どのようにすれば解決できるでしょうか? 以上、よろしくお願いします。
回答: 自己解決しました。 GoogleMap APIの使用バージョンを新しくし、APIキーを取得すると正常に動作しました。