유블로그

[Java] JSON(Java Script Object Notation) 본문

Java

[Java] JSON(Java Script Object Notation)

yujeong kang 2020. 8. 18. 23:59
  • JSON은 자바스크립트에서 사용하는 객체 / 배열의 표현식으로 데이터를 표현한다.
  • xml 과 다르게 tag 없이 데이터로만 표현한다.
  XML JSON
Object <name>Kang</name>
<num>123</num>
{ 'name':'Kang', 'num':123 }
Array <name>Kang</name>
<num>123</num>
<name>Kim</name>
<num>124</num>
<name>Lee</name>
<num>125</num>
[
{ 'name':'Kang', 'num':123 },
{ 'name':'Kim', 'num':124 },
{ 'name':'Lee', 'num':125 }
]

 

 

이클립스에서 json 을 사용하려면

아래 사이트에서 'gson' 검색하여 최신버전 .jar 파일 다운받고 이클립스에서 원하는 프로젝트에 BuildPath -> Configure Build Path -> Add external JARs 로 추가해줘야 한다.

 

Maven Repository: Search/Browse/Explore

A high performance data logging and graphing system for time series data. Last Release on Aug 17, 2020

mvnrepository.com

 

import com.google.gson.Gson;

public class JsonByGsonTest {

	public static void main(String[] args) {
		
		// #1 json --> java
		
		// object
		{
			Gson gson = new Gson();
			
			String jsonStr = "{ 'name':'Hong', 'age': 25 }";
			
			Member member = gson.fromJson(jsonStr, Member.class);
												// ↑ 변환해야되는 class
			System.out.println(member.name + " " + member.age);
			
			
		}
		System.out.println();
		
		// array
		{
			Gson gson = new Gson();
			
			String jsonArrayStr = "[ "
					+ "{ 'name':'Hong', 'age': 25 }, "
					+ "{ 'name':'Kim', 'age': 26 }, "
					+ "{ 'name':'Park', 'age': 31 } ]";
		
			Member[] memberArray = gson.fromJson(jsonArrayStr, Member[].class);
		
			for (Member m : memberArray) {
				System.out.println(m.name + " " + m.age);
			}
		}
		System.out.println();
		
		// #2 java --> json
		
		// object
		{
			Gson gson = new Gson();
			
			Member member = new Member("Kang", 29);
			
			String jsonStr = gson.toJson(member);
		
			System.out.println(jsonStr);
		}
		
		// array
		{
			Gson gson = new Gson();
			
			Member[] memberArray = { 
					new Member("Lee", 30), 
					new Member("Jo", 35), 
					new Member("Moon", 38) };
			String jsonArrayStr = gson.toJson(memberArray);
		
			System.out.println(jsonArrayStr);
		}
	}

}

class Member {
	public String name;
    public int age;
    
	public Member(String name, int age){
		this.name = name;
		this.age = age;
	} 
}

 

'Java' 카테고리의 다른 글

[Java] jdbc로 DB 사용하기  (0) 2020.08.20
[Java] char to int / int to char / char to str / str to char array  (0) 2020.08.19
[Java] Thread  (0) 2020.08.18
[Java] Concurrent vs Parallel  (0) 2020.08.18
[Java] Lambda  (0) 2020.08.13