У меня есть БД из нее получаю 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]
Как избавиться от кавычек?
Ответ
из комментарий и оригинал из 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);
Это не красиво, но работает.