#android #json #sqlite
У меня есть БД из нее получаю JSON следующим способом String DB_PATH = "/data/data/com.example.apps/databases/"; String myPath = DB_PATH + DBHelper.DATABASE_NAME;// Set path to your database String myTable = DBHelper.TABLE_CONTACT;//Set name of your table SQLiteDatabase myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); String searchQuery = "SELECT * FROM " + myTable; Cursor cursor = myDataBase.rawQuery(searchQuery, null ); JSONArray json = new JSONArray(); cursor.moveToFirst(); while (cursor.isAfterLast() == false) { int totalColumn = cursor.getColumnCount(); JSONObject rowObject = new JSONObject(); for(int i=0 ; i< totalColumn ; i++) { if(cursor.getColumnName(i) != null) { try { if(cursor.getString(i) != null) { Log.d("TAG_NAME", cursor.getString(i)); rowObject.put(cursor.getColumnName(i), cursor.getString(i)); } else { rowObject.put(cursor.getColumnName(i), ""); } } catch(Exception e) { Log.d("TAG_NAME", e.getMessage()); } } } json.put(rowObject); cursor.moveToNext(); } cursor.close(); Log.d("TAG_NAME_ALL", json.toString()); return json.toString(); JSON получается какой необходим, за исключением одного значения latlng. Я получаю - "latlng":"[54.601530521,55.918132215051]" Нужно получить - "latlng":[54.601530521,55.918132215051] Как избавиться от кавычек?
Ответы
Ответ 1
из комментарий и оригинал из stackoverflow.com Если вам нужно быстро перевести строку на double, хоть и с грязным кодом, тогда вы можете сделать так: String s = "[12.3456789,98.7654321]"; String trimmed = s.substring(1, s.length()-1); String[] parts = trimmed.split(","); double lat = Double.parseDouble(parts[0]); double lng = Double.parseDouble(parts[1]); Log.d("latlng", "lat="+lat+" lng="+lng); Это не красиво, но работает.
Комментариев нет:
Отправить комментарий