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;
}
}