私のWebサーバーからJSONを解析しようとしています。データを取得することは問題ではありませんが、JSONObject
を作成しようとすると、常にnull
が返されます。Android JSONObjectは常に「null」を返します
マイJSON:
{"apikey":"c34750f19843vo45239o","error":false}
そして、私のJava:
private class GetJSON extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... arg0) {
JSONResult = null;
HttpHandler sh = new HttpHandler();
sh.HTTPMethod = DefaultMethod;
// Making a request to url and getting response
String jsonStr = sh.makeServiceCall(ApiUrl+tmpUrl);
System.out.println("Response from "+ApiUrl+tmpUrl+": " + jsonStr);
if (jsonStr != null) {
try {
JSONResult = new JSONObject(jsonStr);
} catch (final JSONException e) {
System.out.println("Json parsing error: " + e.getMessage());
}
} else {
System.out.println("Couldn't get json from server.");
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
clearRequest();
}
}
私はjsonStr.toString()
と試みたが、同じ結果しています。 JSON文字列もJavaでログできますが、解析されません。
if(JSONResult != null && JSONResult.has("apikey")) {
ApiKey = JSONResult.getString("apikey");
System.out.println("Successfully got ApiKey: "+ApiKey);
}else{
if(JSONResult == null){System.out.println("Is Null");}
}
私の悪い英語のため申し訳ありません:それはnull
を返すところ
です。あなたが理解したいと思います:)
あなたの回答は何ですか? –
まず、Webサーバーからの応答をログに記録してください。接続またはsmthで問題が発生している可能性があります。 –
@A_J応答をログに記録しました..すべて正常です。 – NeXuS