Для такого тривиального примера довольно просто создать плохо сформированный JSON String
вашего контента и позволить JSONObject
исправить его.
В одном выражении:
new JSONObject(String.format("{%s}", str.replaceAll("([^,]+),([^,]+)(,|$)", "$1:$2,")))
// {"art":0,"comedy":0,"action":0,"crime":0,"animals":0}
Если вы действительно хотите сохранить 0.0
как String
s:
new JSONObject(String.format("{%s}", str.replaceAll("([^,]+),([^,]+)(,|$)", "$1:\"$2\",")))
// {"art":"0.0","comedy":"0.0","action":"0.0","crime":"0.0","animals":"0.0"}
Если вы хотите учесть возможные посторонние пробелы:
new JSONObject(String.format("{%s}", str.replaceAll("([^,]+)\\s*?,\\s*?([^,]+)(,|$)", "$1:$2,")))
..будет работать с входными данными, такими как "art, 0.0, comedy, 0.0, action, 0.0, crime, 0.0, animals, 0.0"
и другими случаями.
Отказ от ответственности: это не сумасшедший сексуальный код, а добавление однострочного комментария, и это может быть разумным, если структура данных остается упрощенной.