Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak przekazać ArrayList do innej aktywności i przekonwertować ją na double?

Dane, które pobierasz z MySQL nie jest w prawidłowym JSON format i nie można go przekonwertować na tablicę podwojeń. JSONArray jest zbiorem JSONObject s. W tej chwili otrzymujesz coś, co wydaje się być pojedynczą Array sformatowany jak [9.32, 5.22, 10.201 ... ]

Powinieneś mieć JSONArray który zawiera JSONObjects

points:[{1:9.32},{2:5.22}]

Następnie możesz wyodrębnić JSONObjects z JSONArray i po prostu uzyskaj bezpośredni dostęp do wartości liczbowych

JSONArray points = new JSONArray(pointsString);
JSONObject firstPoint = points.getJSONObject(1);
double value = firstPoint.getDouble("1");

możesz łatwo przekonwertować to na pętlę, aby uruchomić cały JSONArray wartości

Aktualizacja – problemy z PHP

Twój ciąg nie wraca w prawidłowym JSON sformatować, ponieważ zrzucasz cały wynik, jeśli zapytanie do jednej tablicy. Wypróbuj coś takiego:

$outerObject = array();
$result = $query->fetchAll(PDO::FETCH_ASSOC);
$numResult = count($result);
for($i = 0; $i < $numResult; $i++){
     $indexDouble = result[$i];
     $innerObject = array();
     $innerObject['double'] = $indexDouble;
     $outerObject[] = $innerObject;
}
$json = array();
$json['metoxes'] = $outerObject;
echo json_encode($json);

Przetestowałbym to najpierw, ale pomysł polega na tym, że musisz utworzyć coś, co będzie JSONArray a następnie dodaj do niego mniejsze wewnętrzne tablice, które staną się JSONObject . Kiedy json_encode będziesz miał tablicę [] z obiektami {double:some_number}. Aby wyodrębnić, wszystko, co musisz zrobić, to przejść przez JSONArray i uzyskaj każde podwójne skojarzone z podwójną wartością klucza. Działałoby to mniej więcej tak:

JSONArray fullArray = JSONArray(stringInput);
int length = fullArray.length;
for(int i = 0; i < length; i++){

    double target = fullArray.getJSONObject(i).getDouble("double");
    //do something with the double
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak skopiować dane z jednej tabeli do innej nowej tabeli w MySQL?

  2. Kiedy NIE powinienem używać mysql_real_escape_string?

  3. Przechowywanie danych formularzy dynamicznych w DBMS, szukanie optymalnego podejścia

  4. Puste wartości są dodawane do wszystkich wierszy mysql zamiast tylko do wiersza docelowego

  5. Jak połączyć MySQL z Javą?