java는 FastJson을 사용하여 Json 데이터 분석

3899 단어 fastjsonjson
fastjson은 성능이 매우 좋은 자바 언어로 이루어진 JSON 해석기와 생성기로 알리바바의 엔지니어가 개발했다.
주요 특징:
  • 빠른 F.A.S.T. (다른 Java 기반 해상도와 생성기보다 jackson 포함)
  • 강력함(일반 JDK 클래스는 임의의 Java Bean Class, Collection, Map, Date 또는 enum 지원)
  • 0 의존 (JDK를 제외한 다른 라이브러리에 의존하지 않음)
  • 1. Json 생성:
    JavaBean、List、List、List>
    
    String jsonString = JSON.toJSONString(obj); 
    둘째, 분석 Json:
    (1)JavaBean
    
    Class class= JSON.parseObject(jsonString, Class.class); 
    (2)List
    
    List<Class> class=JSON.parseArray((jsonString, Class.class); 
    (3)List
    
    List<String> listString = JSON.parseArray(jsonString, String.class); 
    (4)List>

    List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){}); 
    현재 이러한 json 데이터:
    
    {"totalRecords":2615, 
    "result":{"code":"200","status":"success"}, 
    "list":[{"unuAbnId":"0bcd930f-014c-1000-e003-5f160a0d0114", 
    "entNo":"1c2e4ca8-00fa-1000-e000-74590a76bf0f", 
    "regNO":"442000600169663", 
    "entName":"x", 
    "entType":"9910 ", 
    "speCause":"3", 
    "abnTime":"Mar 13, 2015 12:00:00 AM", 
    "decOrg":"442020", 
    "entNameUrl":"<a href=\".. ", 
    "auditingFileNo":"15000684990326", 
    "abnormalID":"fd74013d-014b-1000-e00a-72970a0d0114"},{...},{...},...], 
    "pageNo":1, 
    "pageSize":8, 
    "url":"main/abnInfoPage", 
    "selList":[{"unuAbnId":"0bcd930f-014c-1000-e003-5f0f0a0d0114", 
    "entNo":"16da9629-0131-1000-e005-3effc0a803a8", 
    "regNO":"442000602187424", 
    "entName":"x", 
    "entType":"9910 ", 
    "speCause":"3", 
    "abnTime":"Mar 13, 2015 12:00:00 AM", 
    "decOrg":"442020", 
    "entNameUrl":"<a href=\"..\">", 
    "auditingFileNo":"15000684990319", 
    "abnormalID":"fd74013d-014b-1000-e00a-72970a0d0114"},{...},{...},...], 
    "topPageNo":1, 
    "totalPages":327, 
    "previousPageNo":0, 
    "nextPageNo":2, 
    "bottomPageNo":327 
    } 
    
    이 중 list는 2615개의 데이터를 포함하고 selList는 8개의 데이터를 포함하며 목표는 selList에서 entNameUrl의 링크를 추출하는 것이다(ahref 제외)
    바깥쪽은 JSON Object, 안쪽의 list와 sel List는 JSON Arrary, 그리고 안쪽은 JSON Object입니다.그중에 Result도 JSON Object입니다.
    
    JSONObject jsonObj = JSON.parseObject(rawText); 
    JSONArray result = jsonObj.getJSONArray("selList"); 
    List<Link> links= JSON.parseArray(result.toJSONString(),Link.class); 
    그 중에서 링크 클래스에는 entNameUrl이라는 속성과 setter와 getter 방법이 있어야 한다.
    setter 방법에서 한층 더 처리할 수 있다
    
     public void setEntNameUrl(String entNameUrl) { 
       this.entNameUrl =Html.create(entNameUrl).links().get(); 
    } 
    
    여기에 사용자 정의 방법을 사용했는데, 그 기능은 문자열의 링크를 꺼내는 것이다.
    링크 클래스에는 abnTime, entName, regNO 등 속성과 대응하는 getter와 setter 방법이 포함되어 있으며, FastJson은 자동으로 비추어 줍니다.
    다음 방법으로도 처리할 수 있습니다.
    
    JSONObject jsonObj = new JSONObject(rawText); 
    JSONArray jsonArray = result .getJSONArray("selList"); 
    for (int i = 0; i < jsonArray.length; i++) {   
    } 
    이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

    좋은 웹페이지 즐겨찾기