Controller.java

NaverSearchAPI search = new NaverSearchAPI(); 
String word = request.getParameter("search"); 
String result = search.Search(word); 
System.out.println(result); 

JSONParser paser = new JSONParser(); 
Object obj = paser.parse(result); 
JSONObject jsonObj = (JSONObject) obj; 

request.setAttribute("result", jsonObj);

result.jsp

<c:set var="result" value="${requestScope.result}"></c:set>
	<form action="search.text">
		검색<input type="text" name="search">
		<input type="submit" value="검색">
	</form>
	<h1>결과</h1>
	<h1>${result.items[0].title}"></h1>

NaverSearchAPI.java

package textbook.search;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class NaverSearchAPI {
		
    public String Search(String word) {
        String clientId = "";//애플리케이션 클라이언트 아이디값";
        String clientSecret = "";//애플리케이션 클라이언트 시크릿값";
        StringBuffer response = null;
        try {
            String text = URLEncoder.encode(word, "UTF-8");
            String apiURL = "https://openapi.naver.com/v1/search/book.json?query="+ text; // json 결과
            //String apiURL = "https://openapi.naver.com/v1/search/blog.xml?query="+ text; // xml 결과
            URL url = new URL(apiURL);
            HttpURLConnection con = (HttpURLConnection)url.openConnection();
            con.setRequestMethod("GET");
            con.setRequestProperty("X-Naver-Client-Id", clientId);
            con.setRequestProperty("X-Naver-Client-Secret", clientSecret);
            int responseCode = con.getResponseCode();
            BufferedReader br;
            if(responseCode==200) { // 정상 호출
                br = new BufferedReader(new InputStreamReader(con.getInputStream()));
            } else {  // 에러 발생
                br = new BufferedReader(new InputStreamReader(con.getErrorStream()));
            }
            String inputLine;
            response = new StringBuffer();
            while ((inputLine = br.readLine()) != null) {
                response.append(inputLine);
            }
            br.close();
            System.out.println(response.toString());
            
        } catch (Exception e) {
            System.out.println(e);
        }
        return response.toString();
    }
}

naver api 사용할 때 json으로 데이터 들고 오는데 그 json 데이터를 jsonString으로 가져와서

값에 접근하기 위해서는 jsonObject로 jsonString을 파싱해주어야한다.