Страницы

Поиск по вопросам

понедельник, 3 июня 2019 г.

Как убрать кавычки в JSON?

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

Комментариев нет:

Отправить комментарий