Error parsing data org.json.JSONException: Value get_all_products.php of type java.lang.String cannot be converted to JSONObject
Webサービスからの応答に有効なjson文字列がないことを示します。このjObj = isValidJson(json);
のため jsonオブジェクトを返しません。
上記のコードでは、
json = sb.toString();
jsonという名前の文字列を作成し、それに文字列ビルダーオブジェクト値を割り当てます。しかし、logcatは、以下の行で有効なjson文字列を取得していないと言っています
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
そのため、json文字列の解析に関するエラーがスローされます。この場合、応答としてサーバーから有効なjson文字列を取得するかどうかを確認する必要があります。上記のコードにいくつかの変更を加えます:
public boolean isValidJson(String test)
{
try {
new JSONObject(test);
return true;
} catch(JSONException ex) {
return false;
}
}
そして、あなたのコードで:
try {
if(isValidJson(json)
{
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
}