이 기사에서는 Json 데이터를 구문 분석하기 위해 Java에서 FastJson을 사용하는 방법을 주로 소개합니다. Fastjson은 Java 언어로 구현된 뛰어난 성능을 갖춘 JSON 파서 및 생성기입니다.
fastjson은 Alibaba의 엔지니어가 개발한 Java 언어로 구현된 고성능 JSON 파서 및 생성기입니다.
주요 기능:
Fast FAST(jackson을 포함한 다른 Java 기반 파서 및 생성기보다 빠름)
강력함(Java Bean 클래스, 컬렉션, 맵, 날짜 또는 열거형을 포함한 일반 JDK 클래스 지원)
종속성 없음(JDK를 제외한 다른 클래스 라이브러리에 대한 종속성 없음)
1. Json 생성:
JavaBean, List
String jsonString = JSON.toJSONString(obj);
2. Json 구문 분석:
(1) JavaBean
Class class= JSON.parseObject(jsonString, Class.class);
(2) 목록
List<Class> class=JSON.parseArray((jsonString, Class.class);
(3) Listf7e83be87db5cd2d9a8a0b8117b38cd4
List<String> listString = JSON.parseArray(jsonString, String.class);
(4) Listaf5984af00e82dcb6a2b56d9f9943afa
코드 복사 코드는 다음과 같습니다.
List91734776688c4be6c5380beb8ab50658 listMap = JSON.parseObject(jsonString, new TypeReference(){})
다음과 같은 기존 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 }
목록에는 2615개의 데이터가 포함되어 있으며 selList에는 8개의 데이터가 포함되어 있습니다. 목표는 selList에서 entNameUrl의 링크를 추출하는 것입니다(href= 제외).
외부 레이어 JSONObject이고, 내부의 list와 selList가 JSONArrary, 내부가 JSONObject입니다. 결과는 JSONObject
JSONObject jsonObj = JSON.parseObject(rawText); JSONArray result = jsonObj.getJSONArray("selList"); List<Link> links= JSON.parseArray(result.toJSONString(),Link.class);
입니다. Link 클래스에는 entNameUrl 속성과 setter 및 getter 메서드가 있어야 합니다.
setter 메소드에서 추가 처리 가능
public void setEntNameUrl(String entNameUrl) { this.entNameUrl =Html.create(entNameUrl).links().get(); }
여기에서는 사용자 정의 메소드가 사용되며 해당 기능은 다음과 같습니다. 문자열에서 링크를 꺼내려면.
Link 클래스에는 abnTime, entName, regNO 및 기타 속성과 해당 getter 및 setter 메서드가 포함될 수 있으며 FastJson은 이를 자동으로 매핑할 수 있습니다.
다음 방법으로도 처리할 수 있습니다.
JSONObject jsonObj = new JSONObject(rawText); JSONArray jsonArray = result .getJSONArray("selList"); for (int i = 0; i < jsonArray.length; i++) { }
위 내용이 이 글의 전체 내용이길 바랍니다. 이것은 모든 사람의 학습에 도움이 될 것이며 모든 사람이 PHP 중국어 웹사이트를 지원하기를 바랍니다.
FastJson을 사용하여 Json 데이터를 구문 분석하는 Java와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!