inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

강의 소개

안녕하세요 선생님

394

leeflection

작성한 질문수 6

0

강의와는 별개로 강의를듣고 혼자 뭔가를 만들어보고 싶어서 구글차트를 이용해서 그래프 그리기를 하고 싶은데

문제가 생겨서ㅠ 구글링도 해보고 OKKY 커뮤니티에도 올려봐도 답이안나와서.. 여기까지 오게되었네요..ㅠ

package hello.hellospring.controller;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import java.io.File;
import java.io.IOException;

@Controller
@RequestMapping("/")
public class RootController {



@GetMapping
public String index(Model model) {
model.addAttribute(
"chartData", getChartData());
return "index";
}

/* private List<List<Object>> getChartData() {
return List.of(
List.of("CVE-2020-22782", 11),
List.of("CVE-2020-22781", 10),
List.of("CVE-2020-22783", 10),
List.of("CVE-2020-22789", 10),
List.of("CVE-2020-22784", 8),
List.of("CVE-2020-36327", 7),
List.of("CVE-2020-7038", 7),
List.of("CVE-2020-7037", 7),
List.of("CVE-2020-2278", 7),
List.of("CVE-2020-22790", 7)
);
}*/
private CVE getChartData() {
ObjectMapper mapper =
new ObjectMapper();


try {
CVE cve = mapper.readValue(
new File("C:\\json\\test.json"), CVE.class);
System.out.println(cve);
} catch (IOException e) {
e.printStackTrace()
;
}
return null;

}

}

class CVE {
private String index;
private int count;
}

주석 부분이 JSON 파일을 열지못해서 저렇게 테스트 해보았던거구요ㅠㅠ


밑에가 JSON 파일데이터 입니다.

[{"index":"CVE-2020-22782","count":11}, {"index":"CVE-2020-22781","count":10}, {"index":"CVE-2020-22783","count":10}, {"index":"CVE-2020-22789","count":10}, {"index":"CVE-2020-22784","count":8}, {"index":"CVE-2020-36327","count":7}, {"index":"CVE-2020-7038","count":7}, {"index":"CVE-2020-7037","count":7} ,{"index":"CVE-2020-22785","count":7} ,{"index":"CVE-2020-22790","count":7}]


돌려서 새로고침하면
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `hello.hellospring.controller.CVE` out of START_ARRAY token at [Source: (File); line: 1, column: 1] 이 에러가 뜨네요..

객체자체를 MODEL.ATTRIBUTE에 매개변수로 넣고 싶은데 제가 놓치고있는게 뭔지 궁금하네요 ㅜㅜ

MVC spring spring-boot java

답변 2

1

leeflection

파일을 {"index":"CVE-2020-22782","count":11} 이렇게만 만드니까 오류는 발생하지 않네요! getindex 함수 만들어서 프린터에 찍히는거 까지 확인했구요ㅠ 이 배열을 넘겨야하는데.. 쉽지않네요ㅠ

0

김영한

안녕하세요. 재혁님

codesweaver님 이야기에 추가로 다음과 같이 해주세요.

MyData {

List<CVE> data

}

readValue(... MyData.class)

감사합니다.

0

나무늘보

{ 
  "data": [ 
    {"index":"CVE-2020-22782","count":11}, 
    {"index":"CVE-2020-22781","count":10}, 
    {"index":"CVE-2020-22783","count":10}, 
    {"index":"CVE-2020-22789","count":10}, 
    {"index":"CVE-2020-22784","count":8}, 
    {"index":"CVE-2020-36327","count":7}, 
    {"index":"CVE-2020-7038","count":7},
   {"index":"CVE-2020-7037","count":7},
    {"index":"CVE-2020-22785","count":7},
    {"index":"CVE-2020-22790","count":7} 
  ] 
}

JSON파일이 형식이 잘못된것 아닌가요?

JSON은 중괄호로 시작해서 중괄호로 끝나야 합니다.

..

0

84

2

Unused property.....

0

104

2

project JDK is misconfigured

0

139

2

외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석

0

84

2

단위/통합 테스트 버전충돌 문제

0

91

2

❗️springboot 4.0.2 버전 aspectj dependency 설정❗️

0

236

1

왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?

0

105

2

윈도우 build test오류 질문

1

103

2

테스트 관련 공부에 대한 조언을 얻고 싶습니다

0

102

2

테스트 실행 시 에러 질문

0

295

1

name을 통한 비교와 객체를 통한 비교

0

77

1

빌드 후 libs 없음

1

132

1

윈도우 gradlew.bat 에러

0

170

1

@PostMapping("/members/new")가 동작하지 않습니다

0

91

1

java static class와 kotlin class

0

81

1

스프링 DB연결

0

128

1

소요 시간

0

89

2

ddl.sql에 빨간 밑줄

1

102

2

welcome page 에러

0

186

3

잘 모르겠습니다.

0

164

2

fail을 똑같이 쳤는데 오류가 발생해요

0

160

2

index.html Welcome page

0

127

1

프로젝트 gradle-groovy ?

0

382

1

테스트코드 메서드명 한글

0

205

2