안녕하세요 선생님
394
작성한 질문수 6
강의와는 별개로 강의를듣고 혼자 뭔가를 만들어보고 싶어서 구글차트를 이용해서 그래프 그리기를 하고 싶은데
문제가 생겨서ㅠ 구글링도 해보고 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에 매개변수로 넣고 싶은데 제가 놓치고있는게 뭔지 궁금하네요 ㅜㅜ
답변 2
1
파일을 {"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





