sql >> Databáze >  >> RDS >> Mysql

Jak předat ArrayList jiné aktivitě a převést ji na double

Data, která stahujete z MySQL není ve správném JSON formát a nelze je převést na pole dvojic. JSONArray je kolekce JSONObject s. Právě teď získáváte to, co vypadá jako jediné Array ve formátu [9.32, 5.22, 10.201 ... ]

Co byste měli mít, je JSONArray který obsahuje JSONObjects

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

Poté můžete extrahovat JSONObjects z JSONArray a jednoduše přistupovat přímo k číselným hodnotám

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

můžete to snadno převést na smyčku, aby běžela přes celý JSONArray hodnot

Aktualizace – problémy s PHP

Váš řetězec se nevrací ve správném JSON formát, protože celý výsledek dotazu ukládáte do jednoho pole. Zkuste něco takového:

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

Nejprve bych to otestoval, ale myšlenka je taková, že musíte vytvořit to, co bude JSONArray a poté k němu přidejte menší vnitřní pole, která se stanou JSONObject . Když json_encode, budete mít pole [] s objekty {double:some_number}. Chcete-li extrahovat, vše, co musíte udělat, je procházet JSONArray a získat každý dvojnásobek spojený s dvojnásobkem hodnoty klíče. Fungovalo by to nějak takto:

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. Jak trvale získávat cenu Microsoft Access MVP Award

  2. Yii - vytvořte dočasnou tabulku a její použití v dalším dotazu způsobí obecnou chybu:2014 Nelze provádět dotazy, zatímco ostatní dotazy bez vyrovnávací paměti jsou aktivní

  3. Generování UUID v Postgres pro příkaz Insert?

  4. mysql extrahujte rok z formátu data