Version Android de Fastjson
Version Android de Fastjson
Fastjson fournit une version Android Par rapport à la version standard, la version Android supprime certaines fonctions qui ne sont pas prises en charge par la machine virtuelle Android Dalvik, ce qui rend le pot plus petit en même temps, beaucoup de performances. des optimisations ont été faites pour Dalvik, notamment en réduisant les appels de méthodes, etc. Lorsque l'analyse est JSONObject/JSONArray, elle est plus rapide que org.json natif, et les performances de sérialisation et de désérialisation JavaBean sont meilleures que celles de jackson/gson.
Télécharger
via Maven :
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>VERSION_CODE</version> </dependency>
ou Gradle :
compile 'com.alibaba:fastjson:VERSION_CODE'
Utilisez le numéro de version réel ici ou ici ou ici pour remplacer les fonctionnalités supprimées dans la version Android VERSION_CODE
, 例如 1.1.54.android
1. ASM
Le format de bytecode de la machine virtuelle Dalvik est différent de celui de Java SE L'optimisation dynamique ASM actuelle ne peut pas être implémentée sur Android.
2. AWT
La machine virtuelle Dalvik sur Android ne prend pas en charge awt, donc la version standard de la prise en charge de la sérialisation et de la désérialisation des classes liées à awt est supprimée.
3. AtomicXXX
AtomicXXX ne doit pas être utilisé comme propriété de POJO et n'est pas couramment utilisé, il a donc été supprimé dans la version Android.
4. La sérialisation des objets Clob n'est pas prise en charge.
5. JSONPObject
Cette fonction est utilisée pour la génération de données Web Jsonp et n'est pas couramment utilisée dans les clients Android, elle est donc supprimée.
6. La sérialisation et la désérialisation des types de champs de référence ne sont pas prises en charge, telles que WeakReference/SoftReference/AtomicReference. Ces types ne sont pas couramment utilisés comme attributs de POJO, ils sont donc supprimés.
7. Les méthodes suivantes ne sont pas couramment utilisées et ne sont pas prises en charge
public abstract class JSON { public static parseObject(byte[] input, int off, int len, CharsetDecoder charsetDecoder, Type clazz, Feature... features) { ... } public static Object parse(byte[] input, int off, int len, CharsetDecoder charsetDecoder, int features) {} public static Object parse(byte[] input, int off, int len, CharsetDecoder charsetDecoder, Feature...features) {} public static Object parse(byte[] input, int off, int len, CharsetDecoder charsetDecoder, int features) {} } // JSONSerializerMap已废弃,不支持 com.alibaba.fastjson.serializer.JSONSerializer.JSONSerializer(JSONSerializerMap)
8. Certaines classes abandonnées ne sont pas prises en charge
com.alibaba.fastjson.parser.JavaBeanMapping Utilisez com.alibaba.fastjson.parser.ParserConfig. au lieu de com.alibaba .fastjson.serializer.JSONSerializerMap Utilisez com.alibaba.fastjson.serializer.SerializeConfig au lieu de com.alibaba.fastjson.parser.DefaultExtJSONParser Utilisez plutôt com.alibaba.fastjson.parser.DefaultJSONParser
9. les méthodes obsolètes ne sont pas prises en charge
class com.alibaba.fastjson.JSONWriter { @Deprecated public void writeStartObject(); @Deprecated public void writeEndObject(); @Deprecated public void writeStartArray(); @Deprecated public void writeEndArray(); }