Как получить данные json с сервера с помощью Volley

#php #android #server #android-volley

Вопрос:

я использовал volley и получаю данные json с сервера. это работает хорошо, но когда я получаю данные с сервера в журнале Android studio, данные хорошо принимаются в виде json. подобный этому

{«read»:[{«id»:»pp»,»time»:»3″,»content»:»3″},{«id»:»pp»,»time»:»22″,»content»:»2″},{«id»:»pp»,»time»:»11″,»content»:»1″},{«id»:»z»,»time»:»12.12″,»content»:»снова грудь!»}],»успех»:»1″}

но я ввел URL-адрес сервера(когда существует php-код) в браузере и вошел туда, там нет данных из бд, просто отображается как

{«прочитано»:[],»успех»:»1″}

вот код java

 StringRequest stringRequest = new StringRequest(Request.Method.POST, URL_list, new Response.Listenerlt;Stringgt;() {  @Override  public void onResponse(String response) {   System.out.println(response);  Log.e(TAG, response.toString());   try {  JSONObject jsonObject = new JSONObject(response);  String success = jsonObject.getString("success");  JSONArray jsonArray = jsonObject.getJSONArray("read");   if (success.equals("1")) {  for (int i = 0; i lt; jsonArray.length(); i  ) {  JSONObject object = jsonArray.getJSONObject(i);  String id = object.getString("id").trim();  String time = object.getString("time").trim();  String content = object.getString("content").trim();   adapter.addItem(id, time, content);  adapter.notifyDataSetChanged();  }  }  } catch (JSONException e) {  e.printStackTrace();  Toast.makeText(listActivity.this, "Error Reading Detail : "   e.toString(), Toast.LENGTH_SHORT).show();  }  }  }, new Response.ErrorListener() {  @Override  public void onErrorResponse(VolleyError error) {  Toast.makeText(listActivity.this, "Error Reading Detail : "   error.toString(), Toast.LENGTH_SHORT).show();  }  }) {  @Override  protected Maplt;String, Stringgt; getParams() throws AuthFailureError {  Maplt;String, Stringgt; params = new HashMaplt;gt;();  params.put("gymName", gymName);   return params;  }  };  RequestQueue requestQueue = Volley.newRequestQueue(this);  requestQueue.add(stringRequest);  

вот php — код на сервере

 lt;?php  $con = mysqli_connect("localhost", "db", "pw", "user");  mysqli_query($con,'SET NAMES utf8');   $gymName = $_POST["gymName"];   $sql = "SELECT * FROM test where gymName = '$gymName' ORDER BY num desc";  $response = mysqli_query($con, $sql);   $result = array();  $result['read'] = array();   while($row = mysqli_fetch_assoc($response)){  $h['id'] = $row['id'];  $h['time'] = $row['time'];  $h['content'] = $row['content'];   array_push($result['read'], $h);  }   $result['success'] = "1";  echo json_encode($result); ?gt;  

почему это происходит? пожалуйста, помогите

я думаю, что в php-коде, получающем данные из бд и реализующем код echo json_encode, должны ли отображаться данные бд в URL? я думаю, что браузер показывает данные json, и Android получает эти показанные данные, я ошибаюсь?. мне просто любопытно, как получить данные json с сервера в Android studio

Комментарии:

1. Для меня непонятно, в чем ваша проблема. Сначала вы говорите, что данные хорошо получены. И затем, что вы печатаете что-то, что портит его. Я понятия не имею, почему вы печатаете и что вы печатаете, где и почему вы не можете использовать текст tje json, который вы хорошо получили.

2. Переменная $gymName-это переменная данных post. Я думаю, что вам нужны данные для публикации в URL-адресе, чтобы просмотреть данные в браузере.

3. я думаю, что в php-коде, получающем данные из бд и реализующем код echo json_encode, должны ли отображаться данные бд в URL? я думаю, что браузер показывает данные json, и Android получает эти показанные данные, я ошибаюсь?. мне просто любопытно, как получить данные json с сервера в Android studio