2017-04-12 1 views
1

json 파일에 트윗 콜렉션이 있습니다. 트위터를 시간과 좌표에 따라 그룹 짓는 것과 같은 작업을하고 싶습니다. 현재 개체 좌표에 대한 List 데이터 형식이 있습니다. 시간 및 날짜와 유사합니다. 그래서 저는 성공적으로 그것들을 파싱했습니다, 그러나 데이터 시간과 좌표를 위해 특별히 그들에 대한 작업을 수행하는 것은 매우 어렵습니다.Jackson에서 작동하기위한 좌표 데이터 유형

궁극적 인 목표는 내가 더 쉽게 조작 할 수 있도록하는 것입니다.

  1. 목록 데이터 형식을 두 번 저장하도록 변환하려면 어떻게해야합니까? 내가 시간과 날짜에 사용해야 어떤 데이터 유형

  2. 임 확실하지

이이 JSON 요소의 예입니다

{"text": "Flood/Storm/Tree Down. Northern Beaches (King Rd, Ingleside, NSW 2101) at 6 Mar 2017 21:38, 
"user": {"id": "4721717942", "name": "NSW Fire Updates"}, "lang": "en", 
"coordinates": { "coordinates": [151.264811, -33.6848] , "type":"Point"}, "created_at": "Mon Mar 06 10:44:31 +0000 2017"} 

이 좌표의 클래스입니다 내가 만든 것

public class Coordinates { 
    private String type; 
    private List<String> coordinates; 
    public String getType(){ 
     return type; 
    } 
    public void setType (String type){ 
     this.type = type; 
    } 
    public List<String> getCoordinates(){ 
     return coordinates; 
    } 
    public void setCoordinates (List<String> coordinates){ 
     this.coordinates = coordinates; 
    } 


@Override 
    public String toString(){ 
     return "[type = "+type+", coordinates = "+coordinates+"]"; 
    } 
} 

이 53,691,363,210 그들에 시간과 날짜를 가지고있는 클래스이다

@JsonIgnoreProperties(ignoreUnknown = true) 
public class Tweet { 
    private String text; 
    private String created_at; 
    private User user; 
    private Coordinates coordinates; 

    public Tweet(){ 
    } 

    public String getText() 
    { 
     return text; 
    } 
    public void setText(String text) 
    { 
     this.text = text; 
    } 
    public String getCreated_at() 
    { 
     return created_at; 
    } 
    public void setCreated_at(String created_at) 
    { 
     this.created_at = created_at; 
    } 
    public User getUser() 
    { 
     return user; 
    } 
    public void setUser(User user) 
    { 
     this.user = user; 
    } 
    public Coordinates getCoordinates() 
    { 
     return coordinates; 
    } 
    public void setCoordinates(Coordinates coordinates) 
    { 
     this.coordinates = coordinates; 
    } 

    @Override 
    public String toString() 
    { 
     return "[text = "+text+", created_at = "+created_at+", user = "+user+", coordinates = "+coordinates+"]"; 
    } 
} 
+0

어떤 JSON 라이브러리를 사용하고 있습니까? –

+0

자사의 잭슨 라이브러리 – Kutam

답변

1

자바 8 개 스트림지도 및 필터 작업을 이해하는 시도하고 당신이 단 한 줄의 코드에서 일을 할 수 있습니다. https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html 또는 java를 사용할 수없는 경우 8이 스레드의 예제를 사용하십시오. Sorting Java objects using multiple keys

+0

안녕하세요, 실제로 Java 8을 사용하도록 허용되지 않았습니다. – Kutam

+0

더 많은 문제가 있습니까? 아니오면 대답을 주시고 계속하십시오. 그렇다면 - 무엇이 필요할까요? 좌표 값을 두배로 가져와야하나요? – strash

+0

미안하지만 회의가있었습니다. 좌표 클래스의 경우. 내가 리스트에서 리스트로 바꾼다. 하지만 괜찮은가요? – Kutam