[JSON] Array 형태의 JSON String을 Java의 ArrayList generic형태로 변환하기

Published on: 2014. 4. 9. 23:48 by louis.dev

json라이브러리중에 GSON 라이브러리를 사용해서 Array 형태의 JSON  String을 ArrayList<Object> 형태로 자동 변환을 해보도록 하겠습니다.


1.JSON

[
	{
		title:'초보를 위한 Java'
		, author:'홍길동'
		, isbn : 'A000022200f'
	}
	, {
		title:'Java 개발자'
		, author:'이몽룡'
		, isbn : 'A1111100ff0'
	}
]

2. Java

class Book {
	private String title;
	private String author;
	private String isbn;
}

3. JSON to ArrayList

Gson gson = new Gson();
Type type = new TypeToken>() {}.getType();
                           
List bookList = gson.fromJson(jsonString, type);




'Web > JSON' 카테고리의 다른 글

JSON - JSON API 사용하여 JSON표기 쉽게 처리 하기  (2) 2009.07.15
JSON - JSON 표기법의 기본  (0) 2009.07.15
JSON - JSON의 기본  (6) 2009.07.14

[jQuery] 엘리먼트의 속성값을 array로 가져오는 방법

Published on: 2013. 11. 14. 14:17 by louis.dev
<ul>
	<li itemid='a'>아이템1</li>
	<li itemid='b'>아이템2</li>
<ul>
jQuery에서 Selector를 통해 dom element를 가져오게되면 하나의 element를 가져오던, 여러개의 element를 가져오던간에 항상 array형태로 돌려주게 된다. 예를 들어 $("li") 를 셀렉트 하면 jQuery는 Array 형태로 선택된 엘리먼트를 리턴해 주게 된다. 만약 이때 li의 속성으로 들어가 있는 itemid의 리스트를 가져오려면 어떻게 해야 할까?
$("li").attr("itemid")
로 속성값을 array로 받을 수 있을것 같지만 첫번째 검색된 엘리먼트의 itemid 속성을 리턴해 준다. 그러면 다른 방법으로
var tempArray = new Array();
$("li").each(function(){
	tempArray.push($(this).attr("id"));
});
정도로 코딩할수 있겠다. 위에서 사용한 each는 loop문으로서 검색된 li를 한번씩 돌면서 하나하나씩 데이터를 가져오는 방식으로 그닥 효율성 있게 보이지 않는다. 그래서 jQuery에서 지원하는 method인 $.map$.makeArray를 통해 선택된 속성의 값을 array형태로 가져와 보겠다. (상세한 method설명은 위의 링크에서 확인하자) 간단히 말해 $.map은 array나 object를 새로운 array로 만들어 주는것이고,  $.makeArray는 배열처럼보이는 object를 실제 JavaScript Array형태로 만들어 주는 method이다. 위의 두개의 method를 가지고 li 속성값을 array형태로 가져오려면 다음과 같이 하면 된다.
var itemids = $.makeArray($("li").map(function(){
	return $(this).attr("itemid");
}));
위 내용처럼 map으로 선택된 엘리먼트의 속성을 가져와 array형태로 만들고 이 array를 javascript native array로 만들기 위해 makeArray를 사용하여 변환하였다.

java.net.SocketException: Connection reset 발생시 처리 방법

Published on: 2013. 11. 14. 14:13 by louis.dev
commons-net을 이용하여  ftp로 업로드 하는 중
java.net.SocketException: Connection reset
에러가 발생하면서 업로드에 실패했다. 자세히 로그를 살펴보니 FTP에 로그인까지 잘되었지만 파일업로드만 진행되지 않는 문제였다. 그래서 찾아보니 위 문제는 windows machine에서 java 7을 사용할때 발생되는 버그로 아래와 같이 해결할수 있다.
  1. 시작 -> cmd을 실행한다.
  2. 콘솔창에 netsh advfirewall set global StatefulFTP disable 을 입력한다.
이렇게 하면 간단하게 해결할 수 있다.

[jQuery] jQuery 라이브러리를 동적으로 로드시키기

Published on: 2013. 11. 14. 13:12 by louis.dev
스크립트 작업을 하다보면 때에 따라서 스크립트 라이브러리를 동적으로 로드해야 하는 경우가 생길수 있습니다. 만약  이와 같은 경우가 생기면 아래의 코드로 해당 스크립트 라이브러리를 이용하여 동적으로 로드시킬 수 있습니다.
window.onload = function(){
	if(typeof jQuery == 'undefined') {
		var jqueryElement = document.createElement('script');
		jqueryElement.src = 'http://code.jquery.com/jquery-1.7.2.min.js';

		jqueryElement.onload = function(){
			//여기에 jquery를 이용한 스크립트를 입력하면 됩니다.
			$("body").html("여기에 들어갑니다.");
		}

		document.getElementsByTagName('head')[0].appendChild(jqueryElement);
	}
}
 

[jQuery] jQuery Library 사용유무 확인하기

Published on: 2013. 11. 14. 13:12 by louis.dev
현재페이지에서 jQuery 자바스크립트 라이브러리를 사용하고 있는지 확인하는 방법은 다음과 같습니다.  
if (jQuery) {  
    // jQuery is loaded
} else {
    // jQuery is not loaded
}
또 다른 방법은 javascript의 키워드인 typeof를 사용하는 방법입니다.  
if (typeof jQuery == 'undefined') {  
    // jQuery is not loaded  
} else {
    // jQuery is loaded
}