.class public abstract Lcom/alibaba/fastjson/JSON; .super Ljava/lang/Object; .source "JSON.java" # interfaces .implements Lcom/alibaba/fastjson/JSONAware; .implements Lcom/alibaba/fastjson/JSONStreamAware; # static fields .field public static DEFAULT_GENERATE_FEATURE:I = 0x0 .field public static DEFAULT_PARSER_FEATURE:I = 0x0 .field public static DEFAULT_TYPE_KEY:Ljava/lang/String; = null .field public static DEFFAULT_DATE_FORMAT:Ljava/lang/String; = null .field public static final VERSION:Ljava/lang/String; = "1.2.9" .field public static defaultLocale:Ljava/util/Locale; .field public static defaultTimeZone:Ljava/util/TimeZone; .field static final emptyFilters:[Lcom/alibaba/fastjson/serializer/SerializeFilter; # direct methods .method static constructor ()V .locals 3 .line 57 invoke-static {}, Ljava/util/TimeZone;->getDefault()Ljava/util/TimeZone; move-result-object v0 sput-object v0, Lcom/alibaba/fastjson/JSON;->defaultTimeZone:Ljava/util/TimeZone; .line 58 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; move-result-object v0 sput-object v0, Lcom/alibaba/fastjson/JSON;->defaultLocale:Ljava/util/Locale; const-string v0, "@type" .line 60 sput-object v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_TYPE_KEY:Ljava/lang/String; const/4 v0, 0x0 .line 64 new-array v1, v0, [Lcom/alibaba/fastjson/serializer/SerializeFilter; sput-object v1, Lcom/alibaba/fastjson/JSON;->emptyFilters:[Lcom/alibaba/fastjson/serializer/SerializeFilter; .line 73 sget-object v1, Lcom/alibaba/fastjson/parser/Feature;->AutoCloseSource:Lcom/alibaba/fastjson/parser/Feature; invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I move-result v1 or-int/2addr v1, v0 .line 74 sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->InternFieldNames:Lcom/alibaba/fastjson/parser/Feature; invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I move-result v2 or-int/2addr v1, v2 .line 75 sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->UseBigDecimal:Lcom/alibaba/fastjson/parser/Feature; invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I move-result v2 or-int/2addr v1, v2 .line 76 sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->AllowUnQuotedFieldNames:Lcom/alibaba/fastjson/parser/Feature; invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I move-result v2 or-int/2addr v1, v2 .line 77 sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->AllowSingleQuotes:Lcom/alibaba/fastjson/parser/Feature; invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I move-result v2 or-int/2addr v1, v2 .line 78 sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->AllowArbitraryCommas:Lcom/alibaba/fastjson/parser/Feature; invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I move-result v2 or-int/2addr v1, v2 .line 79 sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->SortFeidFastMatch:Lcom/alibaba/fastjson/parser/Feature; invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I move-result v2 or-int/2addr v1, v2 .line 80 sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->IgnoreNotMatch:Lcom/alibaba/fastjson/parser/Feature; invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I move-result v2 or-int/2addr v1, v2 .line 81 sput v1, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I const-string v1, "yyyy-MM-dd HH:mm:ss" .line 84 sput-object v1, Lcom/alibaba/fastjson/JSON;->DEFFAULT_DATE_FORMAT:Ljava/lang/String; .line 90 sget-object v1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->QuoteFieldNames:Lcom/alibaba/fastjson/serializer/SerializerFeature; invoke-virtual {v1}, Lcom/alibaba/fastjson/serializer/SerializerFeature;->getMask()I move-result v1 or-int/2addr v0, v1 .line 91 sget-object v1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->SkipTransientField:Lcom/alibaba/fastjson/serializer/SerializerFeature; invoke-virtual {v1}, Lcom/alibaba/fastjson/serializer/SerializerFeature;->getMask()I move-result v1 or-int/2addr v0, v1 .line 92 sget-object v1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->WriteEnumUsingName:Lcom/alibaba/fastjson/serializer/SerializerFeature; invoke-virtual {v1}, Lcom/alibaba/fastjson/serializer/SerializerFeature;->getMask()I move-result v1 or-int/2addr v0, v1 .line 93 sget-object v1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->SortField:Lcom/alibaba/fastjson/serializer/SerializerFeature; invoke-virtual {v1}, Lcom/alibaba/fastjson/serializer/SerializerFeature;->getMask()I move-result v1 or-int/2addr v0, v1 .line 96 sput v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I return-void .end method .method public constructor ()V .locals 0 .line 56 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static parse(Ljava/lang/String;)Ljava/lang/Object; .locals 1 .line 100 sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I invoke-static {p0, v0}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;I)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static parse(Ljava/lang/String;I)Ljava/lang/Object; .locals 2 if-nez p0, :cond_0 const/4 p0, 0x0 return-object p0 .line 108 :cond_0 new-instance v0, Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig; move-result-object v1 invoke-direct {v0, p0, v1, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;I)V .line 109 invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object; move-result-object p0 .line 111 invoke-virtual {v0, p0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V .line 113 invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V return-object p0 .end method .method public static varargs parse(Ljava/lang/String;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 5 .line 158 sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I .line 159 array-length v1, p1 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_0 aget-object v3, p1, v2 const/4 v4, 0x1 .line 160 invoke-static {v0, v3, v4}, Lcom/alibaba/fastjson/parser/Feature;->config(ILcom/alibaba/fastjson/parser/Feature;Z)I move-result v0 add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 163 :cond_0 invoke-static {p0, v0}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;I)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static parse([BIILjava/nio/charset/CharsetDecoder;I)Ljava/lang/Object; .locals 4 .line 136 invoke-virtual {p3}, Ljava/nio/charset/CharsetDecoder;->reset()Ljava/nio/charset/CharsetDecoder; int-to-double v0, p2 .line 138 invoke-virtual {p3}, Ljava/nio/charset/CharsetDecoder;->maxCharsPerByte()F move-result v2 float-to-double v2, v2 invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z mul-double v0, v0, v2 double-to-int v0, v0 .line 139 invoke-static {v0}, Lcom/alibaba/fastjson/util/IOUtils;->getChars(I)[C move-result-object v0 .line 141 invoke-static {p0, p1, p2}, Ljava/nio/ByteBuffer;->wrap([BII)Ljava/nio/ByteBuffer; move-result-object p0 .line 142 invoke-static {v0}, Ljava/nio/CharBuffer;->wrap([C)Ljava/nio/CharBuffer; move-result-object p1 .line 143 invoke-static {p3, p0, p1}, Lcom/alibaba/fastjson/util/IOUtils;->decode(Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)V .line 145 invoke-virtual {p1}, Ljava/nio/CharBuffer;->position()I move-result p0 .line 147 new-instance p1, Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig; move-result-object p2 invoke-direct {p1, v0, p0, p2, p4}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->([CILcom/alibaba/fastjson/parser/ParserConfig;I)V .line 148 invoke-virtual {p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object; move-result-object p0 .line 150 invoke-virtual {p1, p0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V .line 152 invoke-virtual {p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V return-object p0 .end method .method public static varargs parse([BIILjava/nio/charset/CharsetDecoder;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 5 if-eqz p0, :cond_2 .line 123 array-length v0, p0 if-nez v0, :cond_0 goto :goto_1 .line 127 :cond_0 sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I .line 128 array-length v1, p4 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_1 aget-object v3, p4, v2 const/4 v4, 0x1 .line 129 invoke-static {v0, v3, v4}, Lcom/alibaba/fastjson/parser/Feature;->config(ILcom/alibaba/fastjson/parser/Feature;Z)I move-result v0 add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 132 :cond_1 invoke-static {p0, p1, p2, p3, v0}, Lcom/alibaba/fastjson/JSON;->parse([BIILjava/nio/charset/CharsetDecoder;I)Ljava/lang/Object; move-result-object p0 return-object p0 :cond_2 :goto_1 const/4 p0, 0x0 return-object p0 .end method .method public static varargs parse([B[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 3 .line 119 array-length v0, p0 invoke-static {}, Lcom/alibaba/fastjson/util/IOUtils;->getUTF8Decoder()Ljava/nio/charset/CharsetDecoder; move-result-object v1 const/4 v2, 0x0 invoke-static {p0, v2, v0, v1, p1}, Lcom/alibaba/fastjson/JSON;->parse([BIILjava/nio/charset/CharsetDecoder;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static parseArray(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONArray; .locals 4 const/4 v0, 0x0 if-nez p0, :cond_0 return-object v0 .line 318 :cond_0 new-instance v1, Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig; move-result-object v2 invoke-direct {v1, p0, v2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;)V .line 322 iget-object p0, v1, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->lexer:Lcom/alibaba/fastjson/parser/JSONLexer; .line 323 invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->token()I move-result v2 const/16 v3, 0x8 if-ne v2, v3, :cond_1 .line 324 invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->nextToken()V goto :goto_0 .line 326 :cond_1 invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->token()I move-result p0 const/16 v2, 0x14 if-ne p0, v2, :cond_2 goto :goto_0 .line 329 :cond_2 new-instance v0, Lcom/alibaba/fastjson/JSONArray; invoke-direct {v0}, Lcom/alibaba/fastjson/JSONArray;->()V .line 330 invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseArray(Ljava/util/Collection;)V .line 332 invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V .line 335 :goto_0 invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V return-object v0 .end method .method public static parseArray(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/Class<", "TT;>;)", "Ljava/util/List<", "TT;>;" } .end annotation const/4 v0, 0x0 if-nez p0, :cond_0 return-object v0 .line 347 :cond_0 new-instance v1, Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig; move-result-object v2 invoke-direct {v1, p0, v2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;)V .line 348 iget-object p0, v1, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->lexer:Lcom/alibaba/fastjson/parser/JSONLexer; .line 349 invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->token()I move-result v2 const/16 v3, 0x8 if-ne v2, v3, :cond_1 .line 351 invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->nextToken()V goto :goto_0 :cond_1 const/16 v3, 0x14 if-ne v2, v3, :cond_2 .line 353 invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->isBlankInput()Z move-result p0 if-eqz p0, :cond_2 goto :goto_0 .line 356 :cond_2 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 357 invoke-virtual {v1, p1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseArray(Ljava/lang/Class;Ljava/util/Collection;)V .line 359 invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V .line 362 :goto_0 invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V return-object v0 .end method .method public static parseArray(Ljava/lang/String;[Ljava/lang/reflect/Type;)Ljava/util/List; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "[", "Ljava/lang/reflect/Type;", ")", "Ljava/util/List<", "Ljava/lang/Object;", ">;" } .end annotation const/4 v0, 0x0 if-nez p0, :cond_0 return-object v0 .line 374 :cond_0 new-instance v1, Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig; move-result-object v2 invoke-direct {v1, p0, v2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;)V .line 375 invoke-virtual {v1, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseArray([Ljava/lang/reflect/Type;)[Ljava/lang/Object; move-result-object p0 if-nez p0, :cond_1 goto :goto_0 .line 379 :cond_1 invoke-static {p0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; move-result-object v0 .line 382 :goto_0 invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V .line 384 invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V return-object v0 .end method .method public static parseObject(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONObject; .locals 1 .line 171 invoke-static {p0}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;)Ljava/lang/Object; move-result-object p0 .line 172 instance-of v0, p0, Lcom/alibaba/fastjson/JSONObject; if-eqz v0, :cond_0 .line 173 check-cast p0, Lcom/alibaba/fastjson/JSONObject; return-object p0 .line 176 :cond_0 invoke-static {p0}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Lcom/alibaba/fastjson/JSONObject; return-object p0 .end method .method public static varargs parseObject(Ljava/lang/String;[Lcom/alibaba/fastjson/parser/Feature;)Lcom/alibaba/fastjson/JSONObject; .locals 0 .line 167 invoke-static {p0, p1}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; move-result-object p0 check-cast p0, Lcom/alibaba/fastjson/JSONObject; return-object p0 .end method .method public static varargs parseObject(Ljava/lang/String;Lcom/alibaba/fastjson/TypeReference;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Lcom/alibaba/fastjson/TypeReference<", "TT;>;[", "Lcom/alibaba/fastjson/parser/Feature;", ")TT;" } .end annotation .line 181 iget-object p1, p1, Lcom/alibaba/fastjson/TypeReference;->type:Ljava/lang/reflect/Type; sget-object v0, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig; sget v1, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I invoke-static {p0, p1, v0, v1, p2}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static parseObject(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/Class<", "TT;>;)TT;" } .end annotation const/4 v0, 0x0 .line 310 new-array v0, v0, [Lcom/alibaba/fastjson/parser/Feature; invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/Class;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static varargs parseObject(Ljava/lang/String;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/Class<", "TT;>;", "Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;", "[", "Lcom/alibaba/fastjson/parser/Feature;", ")TT;" } .end annotation .line 191 sget-object v2, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig; sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I move-object v0, p0 move-object v1, p1 move-object v3, p2 move-object v5, p3 invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static varargs parseObject(Ljava/lang/String;Ljava/lang/Class;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/Class<", "TT;>;[", "Lcom/alibaba/fastjson/parser/Feature;", ")TT;" } .end annotation .line 186 sget-object v0, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig; sget v1, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I invoke-static {p0, p1, v0, v1, p2}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static varargs parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/reflect/Type;", "I[", "Lcom/alibaba/fastjson/parser/Feature;", ")TT;" } .end annotation if-nez p0, :cond_0 const/4 p0, 0x0 return-object p0 .line 211 :cond_0 array-length v0, p3 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 aget-object v2, p3, v1 const/4 v3, 0x1 .line 212 invoke-static {p2, v2, v3}, Lcom/alibaba/fastjson/parser/Feature;->config(ILcom/alibaba/fastjson/parser/Feature;Z)I move-result p2 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 215 :cond_1 new-instance p3, Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig; move-result-object v0 invoke-direct {p3, p0, v0, p2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;I)V .line 216 invoke-virtual {p3, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/reflect/Type;)Ljava/lang/Object; move-result-object p0 .line 218 invoke-virtual {p3, p0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V .line 220 invoke-virtual {p3}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V return-object p0 .end method .method public static varargs parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/reflect/Type;", "Lcom/alibaba/fastjson/parser/ParserConfig;", "I[", "Lcom/alibaba/fastjson/parser/Feature;", ")TT;" } .end annotation const/4 v3, 0x0 move-object v0, p0 move-object v1, p1 move-object v2, p2 move v4, p3 move-object v5, p4 .line 227 invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static varargs parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/reflect/Type;", "Lcom/alibaba/fastjson/parser/ParserConfig;", "Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;", "I[", "Lcom/alibaba/fastjson/parser/Feature;", ")TT;" } .end annotation if-nez p0, :cond_0 const/4 p0, 0x0 return-object p0 :cond_0 if-eqz p5, :cond_1 .line 238 array-length v0, p5 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 aget-object v2, p5, v1 const/4 v3, 0x1 .line 239 invoke-static {p4, v2, v3}, Lcom/alibaba/fastjson/parser/Feature;->config(ILcom/alibaba/fastjson/parser/Feature;Z)I move-result p4 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 243 :cond_1 new-instance p5, Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-direct {p5, p0, p2, p4}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;I)V .line 245 instance-of p0, p3, Lcom/alibaba/fastjson/parser/deserializer/ExtraTypeProvider; if-eqz p0, :cond_2 .line 246 invoke-virtual {p5}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->getExtraTypeProviders()Ljava/util/List; move-result-object p0 move-object p2, p3 check-cast p2, Lcom/alibaba/fastjson/parser/deserializer/ExtraTypeProvider; invoke-interface {p0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 249 :cond_2 instance-of p0, p3, Lcom/alibaba/fastjson/parser/deserializer/ExtraProcessor; if-eqz p0, :cond_3 .line 250 invoke-virtual {p5}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->getExtraProcessors()Ljava/util/List; move-result-object p0 move-object p2, p3 check-cast p2, Lcom/alibaba/fastjson/parser/deserializer/ExtraProcessor; invoke-interface {p0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 253 :cond_3 instance-of p0, p3, Lcom/alibaba/fastjson/parser/deserializer/FieldTypeResolver; if-eqz p0, :cond_4 .line 254 check-cast p3, Lcom/alibaba/fastjson/parser/deserializer/FieldTypeResolver; invoke-virtual {p5, p3}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->setFieldTypeResolver(Lcom/alibaba/fastjson/parser/deserializer/FieldTypeResolver;)V .line 257 :cond_4 invoke-virtual {p5, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/reflect/Type;)Ljava/lang/Object; move-result-object p0 .line 259 invoke-virtual {p5, p0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V .line 261 invoke-virtual {p5}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V return-object p0 .end method .method public static varargs parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/reflect/Type;", "Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;", "[", "Lcom/alibaba/fastjson/parser/Feature;", ")TT;" } .end annotation .line 202 sget-object p2, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig; sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I invoke-static {p0, p1, p2, v0, p3}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static varargs parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/reflect/Type;", "[", "Lcom/alibaba/fastjson/parser/Feature;", ")TT;" } .end annotation .line 197 sget-object v0, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig; sget v1, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I invoke-static {p0, p1, v0, v1, p2}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static varargs parseObject([BIILjava/nio/charset/CharsetDecoder;Ljava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "([BII", "Ljava/nio/charset/CharsetDecoder;", "Ljava/lang/reflect/Type;", "[", "Lcom/alibaba/fastjson/parser/Feature;", ")TT;" } .end annotation .line 274 invoke-virtual {p3}, Ljava/nio/charset/CharsetDecoder;->reset()Ljava/nio/charset/CharsetDecoder; int-to-double v0, p2 .line 276 invoke-virtual {p3}, Ljava/nio/charset/CharsetDecoder;->maxCharsPerByte()F move-result v2 float-to-double v2, v2 invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z mul-double v0, v0, v2 double-to-int v0, v0 .line 277 invoke-static {v0}, Lcom/alibaba/fastjson/util/IOUtils;->getChars(I)[C move-result-object v0 .line 279 invoke-static {p0, p1, p2}, Ljava/nio/ByteBuffer;->wrap([BII)Ljava/nio/ByteBuffer; move-result-object p0 .line 280 invoke-static {v0}, Ljava/nio/CharBuffer;->wrap([C)Ljava/nio/CharBuffer; move-result-object p1 .line 281 invoke-static {p3, p0, p1}, Lcom/alibaba/fastjson/util/IOUtils;->decode(Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)V .line 283 invoke-virtual {p1}, Ljava/nio/CharBuffer;->position()I move-result p0 .line 285 invoke-static {v0, p0, p4, p5}, Lcom/alibaba/fastjson/JSON;->parseObject([CILjava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static varargs parseObject([BLjava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "([B", "Ljava/lang/reflect/Type;", "[", "Lcom/alibaba/fastjson/parser/Feature;", ")TT;" } .end annotation .line 268 array-length v2, p0 invoke-static {}, Lcom/alibaba/fastjson/util/IOUtils;->getUTF8Decoder()Ljava/nio/charset/CharsetDecoder; move-result-object v3 const/4 v1, 0x0 move-object v0, p0 move-object v4, p1 move-object v5, p2 invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->parseObject([BIILjava/nio/charset/CharsetDecoder;Ljava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static varargs parseObject([CILjava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "([CI", "Ljava/lang/reflect/Type;", "[", "Lcom/alibaba/fastjson/parser/Feature;", ")TT;" } .end annotation if-eqz p0, :cond_2 .line 290 array-length v0, p0 if-nez v0, :cond_0 goto :goto_1 .line 294 :cond_0 sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I .line 295 array-length v1, p3 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_1 aget-object v3, p3, v2 const/4 v4, 0x1 .line 296 invoke-static {v0, v3, v4}, Lcom/alibaba/fastjson/parser/Feature;->config(ILcom/alibaba/fastjson/parser/Feature;Z)I move-result v0 add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 299 :cond_1 new-instance p3, Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig; move-result-object v1 invoke-direct {p3, p0, p1, v1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->([CILcom/alibaba/fastjson/parser/ParserConfig;I)V .line 300 invoke-virtual {p3, p2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/reflect/Type;)Ljava/lang/Object; move-result-object p0 .line 302 invoke-virtual {p3, p0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V .line 304 invoke-virtual {p3}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V return-object p0 :cond_2 :goto_1 const/4 p0, 0x0 return-object p0 .end method .method public static toJSON(Ljava/lang/Object;)Ljava/lang/Object; .locals 1 .line 570 invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig; move-result-object v0 invoke-static {p0, v0}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static toJSON(Ljava/lang/Object;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/lang/Object; .locals 4 const/4 v0, 0x0 if-nez p0, :cond_0 return-object v0 .line 579 :cond_0 instance-of v1, p0, Lcom/alibaba/fastjson/JSON; if-eqz v1, :cond_1 return-object p0 .line 583 :cond_1 instance-of v1, p0, Ljava/util/Map; if-eqz v1, :cond_3 .line 584 check-cast p0, Ljava/util/Map; .line 586 new-instance p1, Lcom/alibaba/fastjson/JSONObject; invoke-interface {p0}, Ljava/util/Map;->size()I move-result v0 invoke-direct {p1, v0}, Lcom/alibaba/fastjson/JSONObject;->(I)V .line 588 invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set; move-result-object p0 invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object p0 :goto_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_2 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/Map$Entry; .line 589 invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v1 .line 590 invoke-static {v1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToString(Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 .line 591 invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v0 invoke-static {v0}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 .line 592 invoke-virtual {p1, v1, v0}, Lcom/alibaba/fastjson/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 :cond_2 return-object p1 .line 598 :cond_3 instance-of v1, p0, Ljava/util/Collection; if-eqz v1, :cond_5 .line 599 check-cast p0, Ljava/util/Collection; .line 601 new-instance p1, Lcom/alibaba/fastjson/JSONArray; invoke-interface {p0}, Ljava/util/Collection;->size()I move-result v0 invoke-direct {p1, v0}, Lcom/alibaba/fastjson/JSONArray;->(I)V .line 603 invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object p0 :goto_1 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_4 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 .line 604 invoke-static {v0}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 .line 605 invoke-virtual {p1, v0}, Lcom/alibaba/fastjson/JSONArray;->add(Ljava/lang/Object;)Z goto :goto_1 :cond_4 return-object p1 .line 611 :cond_5 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v1 .line 613 invoke-virtual {v1}, Ljava/lang/Class;->isEnum()Z move-result v2 if-eqz v2, :cond_6 .line 614 check-cast p0, Ljava/lang/Enum; invoke-virtual {p0}, Ljava/lang/Enum;->name()Ljava/lang/String; move-result-object p0 return-object p0 .line 617 :cond_6 invoke-virtual {v1}, Ljava/lang/Class;->isArray()Z move-result v2 const/4 v3, 0x0 if-eqz v2, :cond_8 .line 618 invoke-static {p0}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I move-result p1 .line 620 new-instance v0, Lcom/alibaba/fastjson/JSONArray; invoke-direct {v0, p1}, Lcom/alibaba/fastjson/JSONArray;->(I)V :goto_2 if-ge v3, p1, :cond_7 .line 623 invoke-static {p0, v3}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object; move-result-object v1 .line 624 invoke-static {v1}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 .line 625 invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/JSONArray;->add(Ljava/lang/Object;)Z add-int/lit8 v3, v3, 0x1 goto :goto_2 :cond_7 return-object v0 .line 631 :cond_8 invoke-virtual {p1, v1}, Lcom/alibaba/fastjson/parser/ParserConfig;->isPrimitive(Ljava/lang/Class;)Z move-result p1 if-eqz p1, :cond_9 return-object p0 .line 636 :cond_9 :try_start_0 const-class p1, Lcom/alibaba/fastjson/annotation/JSONType; invoke-virtual {v1, p1}, Ljava/lang/Class;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation; move-result-object p1 check-cast p1, Lcom/alibaba/fastjson/annotation/JSONType; invoke-static {v1, p1, v0, v3}, Lcom/alibaba/fastjson/util/TypeUtils;->computeGetters(Ljava/lang/Class;Lcom/alibaba/fastjson/annotation/JSONType;Ljava/util/Map;Z)Ljava/util/List; move-result-object p1 .line 638 new-instance v0, Lcom/alibaba/fastjson/JSONObject; invoke-interface {p1}, Ljava/util/List;->size()I move-result v1 invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONObject;->(I)V .line 640 invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_3 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_a invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/alibaba/fastjson/util/FieldInfo; .line 641 invoke-virtual {v1, p0}, Lcom/alibaba/fastjson/util/FieldInfo;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 .line 642 invoke-static {v2}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 .line 644 iget-object v1, v1, Lcom/alibaba/fastjson/util/FieldInfo;->name:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Lcom/alibaba/fastjson/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; :try_end_0 .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_1 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_3 :cond_a return-object v0 :catch_0 move-exception p0 .line 651 new-instance p1, Lcom/alibaba/fastjson/JSONException; const-string v0, "toJSON error" invoke-direct {p1, v0, p0}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p1 :catch_1 move-exception p0 .line 649 new-instance p1, Lcom/alibaba/fastjson/JSONException; const-string v0, "toJSON error" invoke-direct {p1, v0, p0}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p1 .end method .method public static varargs toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B .locals 5 .line 501 new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter; invoke-direct {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->()V .line 504 :try_start_0 new-instance v1, Lcom/alibaba/fastjson/serializer/JSONSerializer; invoke-direct {v1, v0, p1}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->(Lcom/alibaba/fastjson/serializer/SerializeWriter;Lcom/alibaba/fastjson/serializer/SerializeConfig;)V .line 505 array-length p1, p2 const/4 v2, 0x0 :goto_0 if-ge v2, p1, :cond_0 aget-object v3, p2, v2 const/4 v4, 0x1 .line 506 invoke-virtual {v1, v3, v4}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->config(Lcom/alibaba/fastjson/serializer/SerializerFeature;Z)V add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 509 :cond_0 invoke-virtual {v1, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V const-string p0, "UTF-8" .line 511 invoke-virtual {v0, p0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toBytes(Ljava/lang/String;)[B move-result-object p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 513 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V return-object p0 :catchall_0 move-exception p0 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V throw p0 .end method .method public static varargs toJSONBytes(Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B .locals 6 .line 425 new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter; invoke-direct {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->()V .line 428 :try_start_0 new-instance v1, Lcom/alibaba/fastjson/serializer/JSONSerializer; invoke-direct {v1, v0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->(Lcom/alibaba/fastjson/serializer/SerializeWriter;)V .line 429 array-length v2, p1 const/4 v3, 0x0 :goto_0 if-ge v3, v2, :cond_0 aget-object v4, p1, v3 const/4 v5, 0x1 .line 430 invoke-virtual {v1, v4, v5}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->config(Lcom/alibaba/fastjson/serializer/SerializerFeature;Z)V add-int/lit8 v3, v3, 0x1 goto :goto_0 .line 433 :cond_0 invoke-virtual {v1, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V const-string p0, "UTF-8" .line 435 invoke-virtual {v0, p0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toBytes(Ljava/lang/String;)[B move-result-object p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 437 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V return-object p0 :catchall_0 move-exception p0 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V throw p0 .end method .method public static toJSONString(Ljava/lang/Object;)Ljava/lang/String; .locals 2 .line 391 sget-object v0, Lcom/alibaba/fastjson/JSON;->emptyFilters:[Lcom/alibaba/fastjson/serializer/SerializeFilter; const/4 v1, 0x0 new-array v1, v1, [Lcom/alibaba/fastjson/serializer/SerializerFeature; invoke-static {p0, v0, v1}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static varargs toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; .locals 7 const/4 v0, 0x1 .line 449 new-array v3, v0, [Lcom/alibaba/fastjson/serializer/SerializeFilter; const/4 v0, 0x0 aput-object p2, v3, v0 sget v5, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I const/4 v4, 0x0 move-object v1, p0 move-object v2, p1 move-object v6, p3 invoke-static/range {v1 .. v6}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static varargs toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; .locals 5 .line 469 new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter; const/4 v1, 0x0 invoke-direct {v0, v1, p4, p5}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->(Ljava/io/Writer;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V .line 472 :try_start_0 new-instance p4, Lcom/alibaba/fastjson/serializer/JSONSerializer; invoke-direct {p4, v0, p1}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->(Lcom/alibaba/fastjson/serializer/SerializeWriter;Lcom/alibaba/fastjson/serializer/SerializeConfig;)V .line 473 array-length p1, p5 const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 const/4 v3, 0x1 if-ge v2, p1, :cond_0 aget-object v4, p5, v2 .line 474 invoke-virtual {p4, v4, v3}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->config(Lcom/alibaba/fastjson/serializer/SerializerFeature;Z)V add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_0 if-eqz p3, :cond_1 .line 477 invoke-virtual {p3}, Ljava/lang/String;->length()I move-result p1 if-eqz p1, :cond_1 .line 478 invoke-virtual {p4, p3}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->setDateFormat(Ljava/lang/String;)V .line 479 sget-object p1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->WriteDateUseDateFormat:Lcom/alibaba/fastjson/serializer/SerializerFeature; invoke-virtual {p4, p1, v3}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->config(Lcom/alibaba/fastjson/serializer/SerializerFeature;Z)V :cond_1 if-eqz p2, :cond_2 .line 483 array-length p1, p2 :goto_1 if-ge v1, p1, :cond_2 aget-object p3, p2, v1 .line 484 invoke-virtual {p4, p3}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->addFilter(Lcom/alibaba/fastjson/serializer/SerializeFilter;)V add-int/lit8 v1, v1, 0x1 goto :goto_1 .line 488 :cond_2 invoke-virtual {p4, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V .line 490 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toString()Ljava/lang/String; move-result-object p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 492 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V return-object p0 :catchall_0 move-exception p0 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V throw p0 .end method .method public static varargs toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; .locals 6 .line 456 sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I const/4 v3, 0x0 move-object v0, p0 move-object v1, p1 move-object v2, p2 move-object v5, p3 invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static varargs toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; .locals 1 const/4 v0, 0x0 .line 442 check-cast v0, Lcom/alibaba/fastjson/serializer/SerializeFilter; invoke-static {p0, p1, v0, p2}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static varargs toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; .locals 6 .line 417 sget-object v1, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig; const/4 v0, 0x1 new-array v2, v0, [Lcom/alibaba/fastjson/serializer/SerializeFilter; const/4 v0, 0x0 aput-object p1, v2, v0 sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I const/4 v3, 0x0 move-object v0, p0 move-object v5, p2 invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static toJSONString(Ljava/lang/Object;Z)Ljava/lang/String; .locals 2 if-nez p1, :cond_0 .line 519 invoke-static {p0}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;)Ljava/lang/String; move-result-object p0 return-object p0 :cond_0 const/4 p1, 0x1 .line 522 new-array p1, p1, [Lcom/alibaba/fastjson/serializer/SerializerFeature; const/4 v0, 0x0 sget-object v1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->PrettyFormat:Lcom/alibaba/fastjson/serializer/SerializerFeature; aput-object v1, p1, v0 invoke-static {p0, p1}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static varargs toJSONString(Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; .locals 6 .line 421 sget-object v1, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig; sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I const/4 v3, 0x0 move-object v0, p0 move-object v2, p1 move-object v5, p2 invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static varargs toJSONString(Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; .locals 3 .line 395 new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter; const/4 v1, 0x0 check-cast v1, Ljava/io/Writer; sget v2, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I invoke-direct {v0, v1, v2, p1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->(Ljava/io/Writer;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V .line 398 :try_start_0 new-instance p1, Lcom/alibaba/fastjson/serializer/JSONSerializer; invoke-direct {p1, v0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->(Lcom/alibaba/fastjson/serializer/SerializeWriter;)V .line 400 invoke-virtual {p1, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V .line 402 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toString()Ljava/lang/String; move-result-object p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 404 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V return-object p0 :catchall_0 move-exception p0 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V throw p0 .end method .method public static varargs toJSONStringWithDateFormat(Ljava/lang/Object;Ljava/lang/String;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; .locals 6 .line 413 sget-object v1, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig; sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I const/4 v2, 0x0 move-object v0, p0 move-object v3, p1 move-object v5, p2 invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static varargs toJSONStringZ(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; .locals 6 .line 497 sget-object v2, Lcom/alibaba/fastjson/JSON;->emptyFilters:[Lcom/alibaba/fastjson/serializer/SerializeFilter; const/4 v3, 0x0 const/4 v4, 0x0 move-object v0, p0 move-object v1, p1 move-object v5, p2 invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static toJavaObject(Lcom/alibaba/fastjson/JSON;Ljava/lang/Class;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/alibaba/fastjson/JSON;", "Ljava/lang/Class<", "TT;>;)TT;" } .end annotation .line 656 invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig; move-result-object v0 invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/util/TypeUtils;->cast(Ljava/lang/Object;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static varargs writeJSONStringTo(Ljava/lang/Object;Ljava/io/Writer;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V .locals 5 .line 526 new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter; invoke-direct {v0, p1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->(Ljava/io/Writer;)V .line 529 :try_start_0 new-instance p1, Lcom/alibaba/fastjson/serializer/JSONSerializer; invoke-direct {p1, v0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->(Lcom/alibaba/fastjson/serializer/SerializeWriter;)V .line 530 array-length v1, p2 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_0 aget-object v3, p2, v2 const/4 v4, 0x1 .line 531 invoke-virtual {p1, v3, v4}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->config(Lcom/alibaba/fastjson/serializer/SerializerFeature;Z)V add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 534 :cond_0 invoke-virtual {p1, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 536 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V return-void :catchall_0 move-exception p0 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V throw p0 .end method # virtual methods .method public toJSONString()Ljava/lang/String; .locals 2 .line 547 new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter; invoke-direct {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->()V .line 549 :try_start_0 new-instance v1, Lcom/alibaba/fastjson/serializer/JSONSerializer; invoke-direct {v1, v0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->(Lcom/alibaba/fastjson/serializer/SerializeWriter;)V invoke-virtual {v1, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V .line 550 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toString()Ljava/lang/String; move-result-object v1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 552 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V return-object v1 :catchall_0 move-exception v1 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V throw v1 .end method .method public toJavaObject(Ljava/lang/Class;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "TT;>;)TT;" } .end annotation .line 663 invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig; move-result-object v0 invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/util/TypeUtils;->cast(Ljava/lang/Object;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method public toString()Ljava/lang/String; .locals 1 .line 543 invoke-virtual {p0}, Lcom/alibaba/fastjson/JSON;->toJSONString()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public writeJSONString(Ljava/lang/Appendable;)V .locals 3 .line 557 new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter; invoke-direct {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->()V .line 559 :try_start_0 new-instance v1, Lcom/alibaba/fastjson/serializer/JSONSerializer; invoke-direct {v1, v0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->(Lcom/alibaba/fastjson/serializer/SerializeWriter;)V invoke-virtual {v1, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V .line 560 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toString()Ljava/lang/String; move-result-object v1 invoke-interface {p1, v1}, Ljava/lang/Appendable;->append(Ljava/lang/CharSequence;)Ljava/lang/Appendable; :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 564 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V return-void :catchall_0 move-exception p1 goto :goto_0 :catch_0 move-exception p1 .line 562 :try_start_1 new-instance v1, Lcom/alibaba/fastjson/JSONException; invoke-virtual {p1}, Ljava/io/IOException;->getMessage()Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2, p1}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v1 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 564 :goto_0 invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V throw p1 .end method