Я новичок в android, но я нашел приложение, которое отлично подойдет для веб-скребка, с которым я очень много работал, и заполнил с. Это базовое приложение, которое извлекает значения из базы данных MySQL с помощью PHP-скрипта и отображает их на вашем устройстве Android.JSONException: значение типа java.lang.String не может быть преобразовано в JSONObject
Вот PHP:
<?php
try {
$conn = new PDO('mysql:host=localhost;dbname=beanbag', **********, *******);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$results=$conn->query('SELECT * FROM Recipes');
while ($results = $row->fetch(PDO::FETCH_ASSOC)){
$output[]=$row;
print(json_encode($output));
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
$conn = null;
?>
Исходный код используется mysql_connect, но я реализовал PDO вместо этого.
Вот Java:
protected void onPostExecute(Void v) {
// ambil data dari Json database
try {
JSONArray Jarray = new JSONArray(result);
for(int i=0;i<Jarray.length();i++)
{
JSONObject Jasonobject = null;
//text_1 = (TextView)findViewById(R.id.txt1);
Jasonobject = Jarray.getJSONObject(i);
//get an output on the screen
//String id = Jasonobject.getString("id");
String name = Jasonobject.getString("Title");
String db_detail="";
if(et.getText().toString().equalsIgnoreCase(name)) {
db_detail = Jasonobject.getString("ingredient");
text.setText(db_detail);
break;
}
//text_1.append(id+"\t\t"+name+"\t\t"+password+"\t\t"+"\n");
}
this.progressDialog.dismiss();
} catch (Exception e) {
// TODO: handle exception
Log.e("log_tag", "Error parsing data "+e.toString());
}
}
Logcat говорит:
Ошибка org.json.JSONException разбора данных: Значение уш типа java.lang.String не могут быть преобразованы в JSONArray
Я попытался использовать {left brace и} правое решение с this stackoverflow question, но я не думаю, что все.
показать свою JSON ответ. – Riser
«Название» или «ингредиент» может быть json-объектом, и вы получаете его в строке. измените его на Jasonobject.getJSONObject («Title») или Jasonobject.getJSONObject («component») – Jigar
@Camil Staps Я сделал все PDO благодарю вас за подсказку. – Claphands