Как в этом случае разобрать и рассчитать частоту появления коленчатого поля? - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь проанализировать этот файл json (определение его в коде), а затем вычислить частоту появления конкретного слова, например, «Травоядный». Но я получаю «0» каждый раз, за ​​исключением отсутствия какого-либо символа, например "", что дает консоли номер 13. Кроме того, я не уверен, что правильно проанализировал файл

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.json.simple.JsonArray;
import org.json.simple.JsonObject;
import org.json.simple.Jsoner;


public class JSONSerializeDeserialize {

    public JSONSerializeDeserialize() {
        //Create the JSON file
        System.out.println("Creating JSON file...\n");
        createJSON();
        System.out.println("Created...");

        //Read the JSON file
        System.out.println("Reading JSON file...\n");
        readJSON();
        System.out.println("Finished Reading JSON File...\n");
        //Finally
        System.out.println("Application finished...");

    }

    public void readJSON(){
        String jsonFilePath = "animals.json";
        int i=0;
        Pattern p = Pattern.compile("h");
        Matcher m = p.matcher(jsonFilePath);
        while (m.find()) {
            i++;

        }
        System.out.println(i);

        try(FileReader fileReader = new FileReader(jsonFilePath)){
            JsonObject json = (JsonObject) Jsoner.deserialize(fileReader);

            JsonArray animals = (JsonArray) json.get("animals");

            System.out.println("\nAnimals are :");
            animals.forEach(animal -> {
                JsonObject animalObject = (JsonObject) animal;
                System.out.println("Weight : " + animalObject.getString("weight")+", Growth : " + animalObject.get("growth")+", Type of : " + animalObject.get("typeof"));
            });

        } catch (Exception ex){
            ex.printStackTrace();
        }
    }

    public void createJSON(){
        String jsonFilePath = "animals.json";

        JsonObject json = new JsonObject();

        JsonArray animals = new JsonArray();

        JsonObject animalA = new JsonObject();
        animalA.put("weight", "light");
        animalA.put("growth", "small");
        animalA.put("typeof", "herbivore");
        JsonObject animalB = new JsonObject();
        animalB.put("weight", "medium");
        animalB.put("growth", "short");
        animalB.put("typeof", "carnivorous");
        JsonObject animalC = new JsonObject();
        animalC.put("weight", "heavy");
        animalC.put("growth", "high");
        animalC.put("typeof", "omnivorous");
        JsonObject animalD = new JsonObject();
        animalD.put("weight", "heavy");
        animalD.put("growth", "high");
        animalD.put("typeof", "omnivorous");

        animals.add(animalA);
        animals.add(animalB);
        animals.add(animalC);
        animals.add(animalD);

        json.put("animals", animals);

        try (FileWriter file = new FileWriter(jsonFilePath)){
            file.write(Jsoner.prettyPrint(json.toJson()));
            file.flush();
        } catch (IOException e){
            e.printStackTrace();
        }
    }

    public static void main (String[] args){
        new JSONSerializeDeserialize();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...