Biblioteka wspomagająca przeszukiwanie JSON

Biblioteka wspomagająca przeszukiwanie JSON
M1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Cześć. Jaką bibliotekę najlepiej wykorzystać do zliczania poszczególnych słów w plikach .json, czy też do sortowania kilku plików w zależności od zawartości JSON'ów? Dodam, że aplikacja pisana jest w Spring Boot.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
2

Zliczanie słów w pliku tekstowym to są 4 linijki kodu. Java to nie JS gdzie na coś takiego robi się "bibliotekę".

M1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Chodzi mi o coś, co wypisze najczęściej użyte słowa w tych plikach razem z ich ilością.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
6

No i gdzie masz problem konkretnie? Zliczenie wystąpień słów w pliku:

Kopiuj
    public static Map<String, Long> countWords(String filepath) throws IOException {
        return Files.lines(Paths.get(filepath))
                .flatMap(line -> Stream.of(line.split("\\s+")))
                .collect(Collectors.groupingBy(
                        Function.identity(),
                        Collectors.counting()
                ));
    }

Dla danego pliku zwróci ci mapę słwo->liczba wystąpień. Jeśli chcesz z tego wybrać tylko N najbardziej licznych to np.

Kopiuj
    public static List<Map.Entry<String, Long>> getTopN(Map<String, Long> counts, int n) {
        return counts.entrySet()
                .stream()
                .sorted(Comparator.<Map.Entry<String, Long>>comparingLong(Map.Entry::getValue).reversed())
                .limit(n)
                .collect(Collectors.toList());
    }

Dla mapy zwróconej z pierwszej funkcji oraz wartości N zwróci ci posortowaną listę krotek (słowo, licznik).

Serio uważasz że te kilka linijek trzeba znaleźć w jakiejś bibliotece? :D

M1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Przed chwilą skończyłem to pisać, choć w dużo bardziej prymitywny sposób :D Dzięki ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.