Biblioteka wspomagająca przeszukiwanie JSON

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.

2

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

0

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

6

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

    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.

    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

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1