Intereting Posts
Подавить фиктивный PHP imap_open () Примечание: небезопасный сервер рекламируется AUTH = PLAIN Получите ссылки на видео с Youtube Channel, извлеките идентификаторы видео из Urls и сохраните их в массиве preg_replace_callback () – Откат внутри экземпляра текущего объекта Администрирование паролей пользователей WordPress заблокировано после перемещения серверов Отправить POST с сайта php Zend-Framework Справка PHP / MYSQL – неожиданный T_VARIABLE Могу ли я использовать запрос в построителе форм, чтобы получить фильтрованную коллекцию в форме symfony Запрос MySQL не работает при использовании переменной php в where where PHP cli получает вход от пользователя, а затем сбрасывается в переменную? Режим обслуживания обходного режима Laravel 4 для маршрута Создание php включает работу в подкаталоге Максимальная длина сгенерированного хэша при использовании пароля_шиба? Есть ли способ переопределить подсказку типа к классу потомков при расширении абстрактного класса? Получить самую последнюю дату из массива дат Вставка и отправка SQL

Json-файл не работает / не читает jsonarray не может быть преобразован в jsonobject

Привет, я хочу получить доступ к моим веб-записям в приложении для Android. Поступая таким образом, я использую JSON для этого и PHP. Это URL моего json-файла: здесь

Но проблема в том, что это просто отображение php-кода. Мне нужно иметь доступ к этому файлу. 🙁 Любые идеи, что я делаю здесь? Помощь очень ценится мной.

Это то, что я пробовал до сих пор:

<?php include('connectdb.php'); $sql = "SELECT salesordercard_code, location_from, location_to, salesmancode FROM salesorderingcard"; $result = mysql_query($sql); if($result === FALSE) { die(mysql_error()); // TODO: better error handling } $set = array(); while($row1 = mysql_fetch_assoc($result)) { $set[] = $row1; } header('Content-type: application/json'); echo json_encode($set); ?> 

MainActivity.class

 @Override protected Void doInBackground(Void... params) { // Create the array arraylist = new ArrayList<HashMap<String, String>>(); // Retrive JSON Objects from the given website URL in JSONfunctions.class jsonobject = JSONFunctions.getJSONfromURL("http://www.shoppersgroup.net/vanmanagement/results.php"); try { // Locate the array name jsonarray = jsonobject.getJSONArray("posts"); for (int i = 0; i < jsonarray.length(); i++) { HashMap<String, String> map = new HashMap<String, String>(); jsonobject = jsonarray.getJSONObject(i); //Log.i(MainActivity.class.getName(), jsonobject.getString("movie_name")); // Retrive JSON Objects map.put(TAG_CODE, jsonobject.getString("salesordercard_code")); map.put(TAG_LOCATION_FROM, jsonobject.getString("location_from")); map.put(TAG_LOCATION_TO, jsonobject.getString("location_to")); // Set the JSON Objects into the array arraylist.add(map); } } catch (JSONException e) { Log.e("Error", e.getMessage()); e.printStackTrace(); } return null; } 

Logcat:

  11-18 02:35:08.521: E/log_tag(1047): Error parsing data org.json.JSONException: Value [{"salesmancode":"SLMAN001","location_to":"MAIN","location_from":"IN-TRANSIT","salesordercard_code":"SLESO0001"},{"salesmancode":"SLMAN001","location_to":"MAIN","location_from":"IN-TRANSIT","salesordercard_code":"SLESO0002"}] of type org.json.JSONArray cannot be converted to JSONObject 

Сначала как Json String

 [ // Its an Array "posts",// Its not an Array and its index is 0 so we will not use index 0 {//Index1 "salesordercard_code": "SLESO0001", "location_from": "IN-TRANSIT", "location_to": "MAIN", "salesmancode": "SLMAN001" }, {//index2 "salesordercard_code": "SLESO0002", "location_from": "IN-TRANSIT", "location_to": "MAIN", "salesmancode": "SLMAN001" } ] 

Измените метод doInBackground (), как показано ниже,

 @Override protected Void doInBackground(Void... params) { // Create the array arraylist = new ArrayList<HashMap<String, String>>(); // Retrive JSON Objects from the given website URL in JSONfunctions.class jsonobject = JSONFunctions.getJSONfromURL("http://www.shoppersgroup.net/vanmanagement/results.php"); try { // Locate the array name jsonarray = new JSONArray(jsonobject.toString()); for (int i = 1; i < jsonarray.length(); i++) {// strat from index1 HashMap<String, String> map = new HashMap<String, String>(); JSONObject jsonobj = jsonarray.getJSONObject(i); //Log.i(MainActivity.class.getName(), jsonobj.getString("movie_name")); // Retrive JSON Objects map.put(TAG_CODE, jsonobj.getString("salesordercard_code")); map.put(TAG_LOCATION_FROM, jsonobj.getString("location_from")); map.put(TAG_LOCATION_TO, jsonobj.getString("location_to")); // Set the JSON Objects into the array arraylist.add(map); } } catch (JSONException e) { Log.e("Error", e.getMessage()); e.printStackTrace(); } return null; } 

Надеюсь, это решит вашу проблему.

Ваш файл results.json не может запускать php, поскольку он не обрабатывается как PHP, его обрабатывают как json-файл, и поэтому он отображает текст внутри него как текст.

Переименуйте его в results.php и results.php затем, он должен распечатать json закодированные данные с необходимыми результатами.