Maison  >  Article  >  Java  >  Java utilise FastJson pour analyser les données Json

Java utilise FastJson pour analyser les données Json

高洛峰
高洛峰original
2017-02-11 16:04:182026parcourir

Cet article présente principalement l'utilisation de FastJson par Java pour analyser les données Json. Fastjson est un analyseur et générateur JSON avec d'excellentes performances implémenté en langage Java. Ceux qui sont intéressés peuvent en apprendre davantage.

fastjson est un analyseur et générateur JSON extrêmement performant implémenté en langage Java, développé par les ingénieurs d'Alibaba.

Caractéristiques principales :

  • Rapide FAST (plus rapide que tout autre analyseur et générateur basé sur Java, y compris Jackson)

  • Puissant (prend en charge les classes JDK ordinaires, y compris n'importe quelle classe, collection, carte, date ou énumération Java Bean)

  • Zéro dépendance (aucune dépendance sur d'autres bibliothèques de classes à l'exception du JDK)

1. Générer Json :

JavaBean, List36ee8f7418bd46bbf580ced6560b65cf, Listf7e83be87db5cd2d9a8a0b8117b38cd4, List9c802cd134ecb4daff9ac8bd110cccfd

String jsonString = JSON.toJSONString(obj);

2. Analyser Json :

(1)JavaBean

Class class= JSON.parseObject(jsonString, Class.class);

(2) Liste36ee8f7418bd46bbf580ced6560b65cf

List<Class> class=JSON.parseArray((jsonString, Class.class);

(3) Listef7e83be87db5cd2d9a8a0b8117b38cd4

List<String> listString = JSON.parseArray(jsonString, String.class);

(4 ) Lista06c5c2dfccfdea21bf0b155d9343663>


Copier le code Le code est le suivant :


Listac761730dbe881dfa0caf5e799e67882> listMap = JSON.parseObject(jsonString, new TypeReference>(){}); Maintenant, il existe de telles données 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 
}
La liste contient 2615 éléments de données et selList contient 8 éléments de données. Le but est d'extraire le lien. de entNameUrl dans selList (ne contient pas de href =)

La couche externe est JSONObject, la liste et la selList à l'intérieur sont JSONArrary et la couche interne est JSONObject. Le résultat est également JSONObject


JSONObject jsonObj = JSON.parseObject(rawText); 
JSONArray result = jsonObj.getJSONArray("selList"); 
List<Link> links= JSON.parseArray(result.toJSONString(),Link.class);
La classe Link doit avoir l'attribut entNameUrl, ainsi que les méthodes setter et getter.

Peut être traité davantage dans la méthode setter


 public void setEntNameUrl(String entNameUrl) { 
   this.entNameUrl =Html.create(entNameUrl).links().get(); 
}
Une méthode personnalisée est utilisée ici, sa fonction Retirez simplement le lien dans la chaîne.

La classe Link peut contenir abnTime, entName, regNO et d'autres attributs ainsi que les méthodes getter et setter correspondantes, et FastJson peut les mapper automatiquement.

Il peut également être traité par les méthodes suivantes :


JSONObject jsonObj = new JSONObject(rawText); 
JSONArray jsonArray = result .getJSONArray("selList"); 
for (int i = 0; i < jsonArray.length; i++) {   
}
Ce qui précède représente l'intégralité du contenu de cet article, J'espère que cela sera utile à tout le monde et j'espère que tout le monde soutiendra le site Web PHP chinois.

Pour plus d'articles liés à Java utilisant FastJson pour analyser les données Json, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn