Получать только двойные типы из JsonNode в Java - PullRequest
0 голосов
/ 14 октября 2019

Я получаю следующий JsonNode с JsonNode

results = parentNode.get(GEOMETRY);

дает результаты: "marks (79.89 90.78)"

Проблема в том, что я получаю всю строку «отметки (79,89 90,78)» в результатах. Но мне нужно получить двойные, присутствующие внутри () скобки отдельно.

Есть идеи, как я могу получить двойные числа из этой строки?

Я могу использовать регулярное выражение, чтобы получить числа из строки (строки результатов), но я хочу знать, еслидля этого есть другой способ.

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

Вы можете использовать регулярное выражение. Это дает все значения, которые соответствуют данной модели. Вы можете изменить шаблон в соответствии с вашими потребностями.

String s = "marks (79.89 90.78)";
    Pattern p = Pattern.compile("\\d+\\.\\d+");
    Matcher m = p.matcher(s);
    while(m.find()) {
        double d = Double.parseDouble(m.group());
    }
0 голосов
/ 14 октября 2019

Если структура всегда одна и та же, вы можете сделать что-то вроде этого, чтобы разобрать двойные числа:

String fromJson = "marks (79.89 90.78)";
String[] split = fromJson.split(" ");
double a = Double.parseDouble(split[1].substring(1));
double b = Double.parseDouble(split[2].substring(0,split[2].length()-1));
System.out.println(a); // 79.89
System.out.println(b); // 90.78
...