Как прочитать вложенный файл Json, используя методы запроса для создания конечных точек? - PullRequest
0 голосов
/ 29 мая 2019

У меня есть вложенный файл Json, я хотел бы прочитать определенные объекты из файла Json, используя методы запроса. Главным образом, чтобы сделать точные конечные точки мне нужно. Я пытаюсь даже читать все, но это не работает. Поэтому мне нужна помощь с этим, я имею в виду, как читать весь файл Json, после этого я думаю, что могу справиться, чтобы сделать конечные точки так, как мне нужно: / API / категория / {CategoryName} / книги

Я пытался что-то вроде этого:

@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE)
    public @ResponseBody
    Object getBeers() {
        ClassPathResource resource = new ClassPathResource("static/books.json");
        try {
            ObjectMapper mapper = new ObjectMapper();
            return mapper.readValue(resource.getInputStream(), Object.class);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;      //also tried with path here
    }

У меня есть такие результаты: (java.io.FileNotFoundException: ресурс пути к классу [static / books.json] не может быть открыт, потому что он не существует)

Я пытался написать путь другими способами. Не работает. Так что я предполагаю, что я не делаю это правильно

Вот весь JSON, если кому-то это нужно: https://pastebin.com/yruFS5SM Ниже часть моего Json, после этого он повторяется с похожими объектами.

{
 "requestedUrl": "https://www.googleapis.com/books/v1/volumes?q=java&maxResults=40",
 "items": [
  {
   "kind": "books#volume",
   "id": "7tkN1CYzn2cC",
   "etag": "pfjjxSpetIM",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/7tkN1CYzn2cC",
   "volumeInfo": {
    "title": "A Hypervista of the Java Landscape",
    "publisher": "InfoStrategist.com",
    "industryIdentifiers": [
     {
      "type": "ISBN_13",
      "identifier": "9781592432172"
     },
     {
      "type": "ISBN_10",
      "identifier": "1592432174"
     }
    ],
    "readingModes": {
     "text": true,
     "image": true
    },
    "printType": "BOOK",
    "maturityRating": "NOT_MATURE",
    "allowAnonLogging": false,
    "contentVersion": "1.0.1.0.preview.3",
    "imageLinks": {
     "smallThumbnail": "http://books.google.com/books/content?id=7tkN1CYzn2cC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api",
     "thumbnail": "http://books.google.com/books/content?id=7tkN1CYzn2cC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api"
    },
    "language": "en",
    "previewLink": "http://books.google.pl/books?id=7tkN1CYzn2cC&pg=PP1&dq=java&hl=&cd=1&source=gbs_api",
    "infoLink": "http://books.google.pl/books?id=7tkN1CYzn2cC&dq=java&hl=&source=gbs_api",
    "canonicalVolumeLink": "https://books.google.com/books/about/A_Hypervista_of_the_Java_Landscape.html?hl=&id=7tkN1CYzn2cC"
   },
   "saleInfo": {
    "country": "PL",
    "saleability": "NOT_FOR_SALE",
    "isEbook": false
   },
   "accessInfo": {
    "country": "PL",
    "viewability": "PARTIAL",
    "embeddable": true,
    "publicDomain": false,
    "textToSpeechPermission": "ALLOWED",
    "epub": {
     "isAvailable": true,
     "acsTokenLink": "http://books.google.pl/books/download/A_Hypervista_of_the_Java_Landscape-sample-epub.acsm?id=7tkN1CYzn2cC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api"
    },
    "pdf": {
     "isAvailable": true,
     "acsTokenLink": "http://books.google.pl/books/download/A_Hypervista_of_the_Java_Landscape-sample-pdf.acsm?id=7tkN1CYzn2cC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api"
    },
    "webReaderLink": "http://play.google.com/books/reader?id=7tkN1CYzn2cC&hl=&printsec=frontcover&source=gbs_api",
    "accessViewStatus": "SAMPLE",
    "quoteSharingAllowed": false
   }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...