복잡한 JSON 처리

Java에서 데이터 가져오기

Anthony Markham

VP Quant Developer

복잡한 JSON 데이터

  • 중첩 객체와 배열
  • 혼합 데이터 타입
  • API 및 설정 파일 처리 🧠

$$

복잡한 json 데이터

Java에서 데이터 가져오기

중첩 JSON 객체

  • 중첩: 객체 안의 객체
  • Tablesaw는 간단한 경우 자동 평탄화 가능
  • 평탄화: 각 행에 리스트/배열이 있는 열을 여러 행으로 변환
{
  "customer": {
    "name": "John Doe",
    "address": {
      "street": "123 Main St",                            <- 중첩 정보
      "city": "Boston",                                   <- 중첩 정보
      "coordinates": {"lat": 42.3601, "lng": -71.0589}    <- 중첩 속의 중첩 정보
    }
  }
}
Java에서 데이터 가져오기

JSON 평탄화

customer.name customer.address.street customer.address.city
John Doe 123 Main St Boston

$ $

customer.address.coordinates.lat customer.address.coordinates.lng
42.3601 -71.0589
Java에서 데이터 가져오기

JsonReader 구성

  • JsonReadOptions로 다음을 설정:
    • 소스 지정(파일, URL, 문자열)
    • 테이블 이름 설정
    • 결측값 처리
JsonReadOptions options = JsonReadOptions

.builder("complex.json")
.tableName("Products")
.missingValueIndicator("N/A")
.build();
Table data = new JsonReader().read(options);
missingValues = data.stringColumn("name").isMissing();
Java에서 데이터 가져오기

테이블 조인

  • joinOn으로 테이블 결합
  • 내부 조인은 두 테이블 모두에 있는 행만 유지
Table phones = Table.read().csv("phones.csv");   // name, phone

Table diets = Table.read().csv("diets.csv"); // name, diet
// Perform the inner join on the two tables Table joined = phones.joinOn("name").inner(diets);

$$

$$

  • 다른 조인 유형도 많음
Java에서 데이터 가져오기

연습해 봅시다!

Java에서 데이터 가져오기

Preparing Video For Download...