Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara meneruskan ArrayList ke aktivitas lain dan mengubahnya menjadi double

Data yang Anda ambil dari MySQL tidak dalam JSON yang benar format dan tidak dapat dikonversi ke array ganda. Sebuah JSONArray adalah kumpulan JSONObject s. Saat ini Anda mendapatkan apa yang tampak sebagai Array tunggal diformat seperti [9.32, 5.22, 10.201 ... ]

Yang harus Anda miliki adalah JSONArray yang berisi JSONObjects

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

Anda kemudian dapat mengekstrak JSONObjects dari JSONArray dan cukup akses nilai angka secara langsung

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

anda dapat dengan mudah mengonversi ini menjadi loop untuk menjalankan seluruh JSONArray dari nilai

Pembaruan - Masalah PHP

String Anda tidak kembali dalam JSON yang tepat format karena Anda membuang seluruh hasil jika kueri Anda ke dalam satu larik. Coba sesuatu seperti ini:

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

Saya akan mengujinya terlebih dahulu tetapi idenya adalah Anda perlu membuat apa yang akan menjadi JSONArray dan kemudian tambahkan ke dalamnya array dalam yang lebih kecil yang akan menjadi JSONObject . Ketika Anda json_encode bahwa Anda akan memiliki array [] dengan objek {double:some_number}. Untuk mengekstrak, yang harus Anda lakukan adalah mengulang JSONArray dan dapatkan setiap ganda yang terkait dengan nilai kunci ganda. Ini akan bekerja seperti ini:

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. Tingkatkan WAMP ke MySQL 5.5?

  2. Penghitung Tampilan SQL PHP menggunakan PDO prepare()

  3. 3 Cara untuk Mendeteksi jika String Cocok dengan Ekspresi Reguler di MySQL

  4. memasukkan data ke dalam kolom baru dari tabel yang sudah ada

  5. MySQL find_in_set dengan beberapa string pencarian