Подскажите может есть более лучший способ перегнать такое "[1,2,3,4,5,6,7,8, ...]" в массив байт? В данном случае в строке в массиве это байты.
В гугле нашел такое решение.
String response = "[-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]";
String[] byteValues = response.substring(1, response.length() - 1).split(",");
byte[] bytes = new byte[byteValues.length];
for (int i=0, len=bytes.length; i<len; i++) {
bytes[i] = Byte.parseByte(byteValues[i].trim());
}
String str = new String(bytes);
Может более лучший способ такое сделать?
Можно использовать Gson для этого
byte[] bytes = new Gson().fromJson(response, byte[].class);
Вариант с использованием Jackson:
byte[] bytes = new ObjectMapper().readValue(jsonStr, byte[].class);
Вариант с использованием org.json:
JSONArray jsonArray = new JSONArray(response);
byte[] bytes = new byte[jsonArray.length()];
for (int i = 0; i < bytes.length; i++) {
bytes[i] = Byte.parseByte(jsonArray.get(i).toString());
}
Вариант с использованием javax.json и стримов:
try (JsonReader jsonReader = Json.createReader(new StringReader(response))) {
JsonArray jsonArray = jsonReader.readArray();
int[] bytes = jsonArray.stream()
.map(Objects::toString)
.mapToInt(Byte::parseByte)
.toArray();
}
Правда в этом варианте используются целые числа, так как байтовых стримов не существует и попытки работы с байтами превращаются в костылестроение.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В разметку активности добавил ExpandableListViewКак я могу добавить множественный выбор для каждого элемента подгруппы и впоследствии добавлять...
Присутствует класс IndexMatrix и он имплемитирует интерфейс IMatrix:
Есть 3 поля с даными, вводимыми пользователями: имя, дата рождения, место рождениянадо записать эти данные в файл а потом из файла запихнуть...
Я вынес все данные в properties, например, с такими полями: