>  기사  >  Java  >  java는 FastJson을 사용하여 Json 데이터를 구문 분석합니다.

java는 FastJson을 사용하여 Json 데이터를 구문 분석합니다.

高洛峰
高洛峰원래의
2017-02-11 16:04:182023검색

이 기사에서는 Json 데이터를 구문 분석하기 위해 Java에서 FastJson을 사용하는 방법을 주로 소개합니다. Fastjson은 Java 언어로 구현된 뛰어난 성능을 갖춘 JSON 파서 및 생성기입니다.

fastjson은 Alibaba의 엔지니어가 개발한 Java 언어로 구현된 고성능 JSON 파서 및 생성기입니다.

주요 기능:

  • Fast FAST(jackson을 포함한 다른 Java 기반 파서 및 생성기보다 빠름)

  • 강력함(Java Bean 클래스, 컬렉션, 맵, 날짜 또는 열거형을 포함한 일반 JDK 클래스 지원)

  • 종속성 없음(JDK를 제외한 다른 클래스 라이브러리에 대한 종속성 없음)

1. Json 생성:

JavaBean, List, List, 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 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.