In diesem Artikel wird hauptsächlich FastJSON zum Generieren und Analysieren von JSON-Daten (Serialisierungs- und Deserialisierungsdaten) vorgestellt. Interessierte Freunde können darauf verweisen.
Dieser Artikel erklärt 2 Punkte:
1. Fastjson generiert und analysiert JSON-Daten
(Beispiel: 4 gängige Typen :JavaBean,List36ee8f7418bd46bbf580ced6560b65cf,Listf7e83be87db5cd2d9a8a0b8117b38cd4,Lista06c5c2dfccfdea21bf0b155d9343663)
2. Testen Sie die Verwendung von fastjson über ein Android-Programm.
Einführung in fastjson:
Fastjson ist eine leistungsstarke und vollständige JSON-Bibliothek, die in der Java-Sprache geschrieben ist. FastJSON verwendet einen Originalalgorithmus, um die Analysegeschwindigkeit auf das Äußerste zu erhöhen und übertrifft alle JSON-Bibliotheken, einschließlich Jackson, das einst als die schnellste galt. Und es übertrifft auch das Binärprotokoll-Protokoll buf von Google. Fastjson unterstützt den Standard von http://www.php.cn/ vollständig und ist auch eine der Referenzimplementierungen auf der offiziellen Website. Unterstützt verschiedene JDK-Typen. Einschließlich Basistypen, JavaBean, Collection, Map, Enum, Generics usw. Unterstützt JDK 5, JDK 6, Android, Alibaba Cloud-Mobiltelefone und andere Umgebungen.
1. fastjson generiert einen JSON-String (JavaBean,List36ee8f7418bd46bbf580ced6560b65cf,Listf7e83be87db5cd2d9a8a0b8117b38cd4,Lista06c5c2dfccfdea21bf0b155d9343663)
String jsonStrng = JSON.toJSONString(object);
2. fastjson analysiert JSON-Strings in vier Typen
1
Person person = JSON.parseObject(jsonString, Person.class);2. Liste36ee8f7418bd46bbf580ced6560b65cf
List<Person> listPerson =JSON.parseArray(jsonString, Person.class);3 ;
List<String> listString = JSON.parseArray(jsonString, String.class);4. Lista06c5c2dfccfdea21bf0b155d9343663>
Code kopieren Der Code lautet wie folgt:
List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){});(Hinweis: Hier ist zu sehen, dass der FastJSON-Reflexionsmechanismus genauer ist als der GSON-Reflexionsmechanismus. id = 1001 ist immer noch id = 1001 durch FastJson-Reflexion und das Ergebnis durch Gson-Reflexion ist id =1001.0 ,
import comalibabafastjsonJSONObject; /** * Created by wangzhenfei on 14-4- */ public class FastJsonTest { public static void main(String[] args){ String jsonStr = "{\"JACKIE_ZHANG\":\"张学友\",\"ANDY_LAU\":\"刘德华\",\"LIMING\":\"黎明\",\"Aaron_Kwok\":\"郭富城\"}" ; //做5次测试 for(int i=0,j=5;i<j;i++) { JSONObject jsonObject = JSONObjectparseObject(jsonStr) ; for(javautilMapEntry<String,Object> entry:jsonObjectentrySet()){ Systemoutprint(entrygetKey()+"-"+entrygetValue()+"\t"); } Systemoutprintln();//用来换行 } } }Laufergebnis:
LIMING-黎明 Aaron_Kwok-郭富城JACKIE_ZHANG-张学友ANDY_LAU-刘德华 Aaron_Kwok-郭富城 ANDY_LAU-刘德华LIMING-黎明JACKIE_ZHANG-张学友 Aaron_Kwok-郭富城 JACKIE_ZHANG-张学友ANDY_LAU-刘德华LIMING-黎明 LIMING-黎明 ANDY_LAU-刘德华JACKIE_ZHANG-张学友Aaron_Kwok-郭富城 JACKIE_ZHANG-张学友 LIMING-黎明ANDY_LAU-刘德华Aaron_Kwok-郭富城Lösung: Als JSONArray definiert, lautet der Code wie folgt:
import comalibabafastjsonJSONArray; /** * Created by wangzhenfei on 14-4- */ public class FastJsonTest { public static void main(String[] args){ String jsonStr = "[{\"JACKIE_ZHANG\":\"张学友\"},{\"ANDY_LAU\":\"刘德华\"},{\"LIMING\":\"黎明\"},{\"Aaron_Kwok\":\"郭富城\"}]" ; //做5次测试 for(int i=0,j=5;i<j;i++) { JSONArray jsonArray = JSONArrayparseArray(jsonStr); for(int k=0;k<jsonArraysize();k++){ Systemoutprint(jsonArrayget(k) + "\t"); } Systemoutprintln();//用来换行 } } }Das laufende Ergebnis ist:
{"JACKIE_ZHANG":"张学友"} {"ANDY_LAU":"刘德华"}{"LIMING":"黎明"}{"Aaron_Kwok":"郭富城"} {"JACKIE_ZHANG":"张学友"} {"ANDY_LAU":"刘德华"}{"LIMING":"黎明"}{"Aaron_Kwok":"郭富城"} {"JACKIE_ZHANG":"张学友"} {"ANDY_LAU":"刘德华"}{"LIMING":"黎明"}{"Aaron_Kwok":"郭富城"} {"JACKIE_ZHANG":"张学友"} {"ANDY_LAU":"刘德华"}{"LIMING":"黎明"}{"Aaron_Kwok":"郭富城"} {"JACKIE_ZHANG":"张学友"} {"ANDY_LAU":"刘德华"}{"LIMING":"黎明"}{"Aaron_Kwok":"郭富城"}Wenn Sie es definieren möchten als JSONObject anstelle von JSONArray, Sie können andere JSON-Parser auswählen, die persönlich empfohlen werden. Mit Googles GSON ist die Dokumentation offensichtlich viel besser als FastJSON (von hier aus können Sie die Lücke zwischen Alibaba und Google erkennen):
import comgooglegsonJsonElement; import comgooglegsonJsonObject; import comgooglegsonJsonParser; /** * Created by wangzhenfei on 14-4- */ public class FastJsonTest { public static void main(String[] args){ String jsonStr = "{\"JACKIE_ZHANG\":\"张学友\",\"ANDY_LAU\":\"刘德华\",\"LIMING\":\"黎明\",\"Aaron_Kwok\":\"郭富城\"}" ; //做5次测试 for(int i=0,j=5;i<j;i++) { JsonObject jsonObject = (JsonObject) new JsonParser()parse(jsonStr); for(javautilMapEntry<String,JsonElement> entry:jsonObjectentrySet()){ Systemoutprint(entrygetKey()+"-"+entrygetValue()+"\t"); } Systemoutprintln();//用来换行 } } }Laufergebnisse:
JACKIE_ZHANG-"张学友" ANDY_LAU-"刘德华" LIMING-"黎明" Aaron_Kwok-"郭富城" JACKIE_ZHANG-"张学友" ANDY_LAU-"刘德华" LIMING-"黎明" Aaron_Kwok-"郭富城" JACKIE_ZHANG-"张学友" ANDY_LAU-"刘德华" LIMING-"黎明" Aaron_Kwok-"郭富城" JACKIE_ZHANG-"张学友" ANDY_LAU-"刘德华" LIMING-"黎明" Aaron_Kwok-"郭富城" JACKIE_ZHANG-"张学友" ANDY_LAU-"刘德华" LIMING-"黎明" Aaron_Kwok-"郭富城"
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in FastJSON in Java zum Generieren und Analysieren von JSON-Daten (Serialisierungs- und Deserialisierungsdaten). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!