sql >> Database teknologi >  >> RDS >> Mysql

Sådan sender du en ArrayList til en anden aktivitet og konverterer den til dobbelt

De data, du henter fra MySQL er ikke i korrekt JSON format og kan ikke konverteres til en række doubler. En JSONArray er en samling af JSONObject s. Lige nu får du, hvad der ser ud til at være et enkelt Array formateret som [9.32, 5.22, 10.201 ... ]

Det du skal have er en JSONArray der indeholder JSONObjects

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

Du kan derefter udpakke JSONObjects fra JSONArray og få direkte adgang til talværdierne

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

du kan nemt konvertere dette til en loop for at køre over en hel JSONArray af værdier

Opdatering - PHP-problemer

Din streng kommer ikke tilbage i korrekt JSON format, fordi du dumper hele resultatet, hvis din forespørgsel ind i et enkelt array. Prøv noget som dette:

$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);

Jeg ville teste det først, men ideen er, at du skal oprette, hvad der bliver JSONArray og føj derefter mindre indre arrays til det, der bliver JSONObject . Når du json_encode det, vil du have et array [] med objekter {double:some_number}. Alt du skal gøre for at udtrække er at gå gennem JSONArray og få hver fordobling forbundet med nøgleværdien fordoblet. Det ville fungere sådan her:

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. Gruppering af MySQL datetime i intervaller uanset tidszone

  2. Sådan springer du række over, når du importerer dårlig MySQL-dump

  3. Hvordan tillader jeg kun adgang til min MySQL-database fra min iOS-app? (Brug af webapp som gateway til db)

  4. Forskellen i måneder mellem datoer i MySQL