.class public Lcom/alibaba/fastjson/JSONObject; .super Lcom/alibaba/fastjson/JSON; .source "JSONObject.java" # interfaces .implements Ljava/util/Map; .implements Ljava/lang/Cloneable; .implements Ljava/io/Serializable; .implements Ljava/lang/reflect/InvocationHandler; # annotations .annotation system Ldalvik/annotation/Signature; value = { "Lcom/alibaba/fastjson/JSON;", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;", "Ljava/lang/Cloneable;", "Ljava/io/Serializable;", "Ljava/lang/reflect/InvocationHandler;" } .end annotation # instance fields .field private final map:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;" } .end annotation .end field # direct methods .method public constructor ()V .locals 2 const/16 v0, 0x10 const/4 v1, 0x0 .line 56 invoke-direct {p0, v0, v1}, Lcom/alibaba/fastjson/JSONObject;->(IZ)V return-void .end method .method public constructor (I)V .locals 1 const/4 v0, 0x0 .line 68 invoke-direct {p0, p1, v0}, Lcom/alibaba/fastjson/JSONObject;->(IZ)V return-void .end method .method public constructor (IZ)V .locals 0 .line 71 invoke-direct {p0}, Lcom/alibaba/fastjson/JSON;->()V if-eqz p2, :cond_0 .line 73 new-instance p2, Ljava/util/LinkedHashMap; invoke-direct {p2, p1}, Ljava/util/LinkedHashMap;->(I)V iput-object p2, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; goto :goto_0 .line 75 :cond_0 new-instance p2, Ljava/util/HashMap; invoke-direct {p2, p1}, Ljava/util/HashMap;->(I)V iput-object p2, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; :goto_0 return-void .end method .method public constructor (Ljava/util/Map;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;)V" } .end annotation .line 59 invoke-direct {p0}, Lcom/alibaba/fastjson/JSON;->()V iput-object p1, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; return-void .end method .method public constructor (Z)V .locals 1 const/16 v0, 0x10 .line 64 invoke-direct {p0, v0, p1}, Lcom/alibaba/fastjson/JSONObject;->(IZ)V return-void .end method # virtual methods .method public clear()V .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 311 invoke-interface {p0}, Ljava/util/Map;->clear()V return-void .end method .method public clone()Ljava/lang/Object; .locals 2 .line 332 new-instance v0, Lcom/alibaba/fastjson/JSONObject; new-instance v1, Ljava/util/LinkedHashMap; iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; invoke-direct {v1, p0}, Ljava/util/LinkedHashMap;->(Ljava/util/Map;)V invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONObject;->(Ljava/util/Map;)V return-object v0 .end method .method public containsKey(Ljava/lang/Object;)Z .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 88 invoke-interface {p0, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z move-result p0 return p0 .end method .method public containsValue(Ljava/lang/Object;)Z .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 92 invoke-interface {p0, p1}, Ljava/util/Map;->containsValue(Ljava/lang/Object;)Z move-result p0 return p0 .end method .method public entrySet()Ljava/util/Set; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Set<", "Ljava/util/Map$Entry<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;>;" } .end annotation iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 327 invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set; move-result-object p0 return-object p0 .end method .method public equals(Ljava/lang/Object;)Z .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 336 invoke-interface {p0, p1}, Ljava/util/Map;->equals(Ljava/lang/Object;)Z move-result p0 return p0 .end method .method public get(Ljava/lang/Object;)Ljava/lang/Object; .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 96 invoke-interface {p0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public getBigDecimal(Ljava/lang/String;)Ljava/math/BigDecimal; .locals 0 .line 275 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 277 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToBigDecimal(Ljava/lang/Object;)Ljava/math/BigDecimal; move-result-object p0 return-object p0 .end method .method public getBigInteger(Ljava/lang/String;)Ljava/math/BigInteger; .locals 0 .line 281 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 283 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToBigInteger(Ljava/lang/Object;)Ljava/math/BigInteger; move-result-object p0 return-object p0 .end method .method public getBoolean(Ljava/lang/String;)Ljava/lang/Boolean; .locals 0 .line 142 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 if-nez p0, :cond_0 const/4 p0, 0x0 return-object p0 .line 148 :cond_0 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToBoolean(Ljava/lang/Object;)Ljava/lang/Boolean; move-result-object p0 return-object p0 .end method .method public getBooleanValue(Ljava/lang/String;)Z .locals 0 .line 162 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 164 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToBoolean(Ljava/lang/Object;)Ljava/lang/Boolean; move-result-object p0 if-nez p0, :cond_0 const/4 p0, 0x0 return p0 .line 169 :cond_0 invoke-virtual {p0}, Ljava/lang/Boolean;->booleanValue()Z move-result p0 return p0 .end method .method public getByte(Ljava/lang/String;)Ljava/lang/Byte; .locals 0 .line 173 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 175 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToByte(Ljava/lang/Object;)Ljava/lang/Byte; move-result-object p0 return-object p0 .end method .method public getByteValue(Ljava/lang/String;)B .locals 0 .line 179 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 181 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToByte(Ljava/lang/Object;)Ljava/lang/Byte; move-result-object p0 if-nez p0, :cond_0 const/4 p0, 0x0 return p0 .line 186 :cond_0 invoke-virtual {p0}, Ljava/lang/Byte;->byteValue()B move-result p0 return p0 .end method .method public getBytes(Ljava/lang/String;)[B .locals 0 .line 152 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 if-nez p0, :cond_0 const/4 p0, 0x0 return-object p0 .line 158 :cond_0 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToBytes(Ljava/lang/Object;)[B move-result-object p0 return-object p0 .end method .method public getDate(Ljava/lang/String;)Ljava/util/Date; .locals 0 .line 297 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 299 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToDate(Ljava/lang/Object;)Ljava/util/Date; move-result-object p0 return-object p0 .end method .method public getDouble(Ljava/lang/String;)Ljava/lang/Double; .locals 0 .line 258 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 260 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToDouble(Ljava/lang/Object;)Ljava/lang/Double; move-result-object p0 return-object p0 .end method .method public getDoubleValue(Ljava/lang/String;)D .locals 0 .line 264 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 266 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToDouble(Ljava/lang/Object;)Ljava/lang/Double; move-result-object p0 if-nez p0, :cond_0 const-wide/16 p0, 0x0 return-wide p0 .line 271 :cond_0 invoke-virtual {p0}, Ljava/lang/Double;->doubleValue()D move-result-wide p0 return-wide p0 .end method .method public getFloat(Ljava/lang/String;)Ljava/lang/Float; .locals 0 .line 241 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 243 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToFloat(Ljava/lang/Object;)Ljava/lang/Float; move-result-object p0 return-object p0 .end method .method public getFloatValue(Ljava/lang/String;)F .locals 0 .line 247 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 249 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToFloat(Ljava/lang/Object;)Ljava/lang/Float; move-result-object p0 if-nez p0, :cond_0 const/4 p0, 0x0 return p0 .line 254 :cond_0 invoke-virtual {p0}, Ljava/lang/Float;->floatValue()F move-result p0 return p0 .end method .method public getInnerMap()Ljava/util/Map; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;" } .end annotation iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; return-object p0 .end method .method public getIntValue(Ljava/lang/String;)I .locals 0 .line 213 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 215 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToInt(Ljava/lang/Object;)Ljava/lang/Integer; move-result-object p0 if-nez p0, :cond_0 const/4 p0, 0x0 return p0 .line 220 :cond_0 invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I move-result p0 return p0 .end method .method public getInteger(Ljava/lang/String;)Ljava/lang/Integer; .locals 0 .line 207 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 209 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToInt(Ljava/lang/Object;)Ljava/lang/Integer; move-result-object p0 return-object p0 .end method .method public getJSONArray(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONArray; .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 114 invoke-interface {p0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 116 instance-of p1, p0, Lcom/alibaba/fastjson/JSONArray; if-eqz p1, :cond_0 .line 117 check-cast p0, Lcom/alibaba/fastjson/JSONArray; return-object p0 .line 120 :cond_0 instance-of p1, p0, Ljava/lang/String; if-eqz p1, :cond_1 .line 121 check-cast p0, Ljava/lang/String; invoke-static {p0}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;)Ljava/lang/Object; move-result-object p0 check-cast p0, Lcom/alibaba/fastjson/JSONArray; return-object p0 .line 124 :cond_1 invoke-static {p0}, Lcom/alibaba/fastjson/JSONObject;->toJSON(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Lcom/alibaba/fastjson/JSONArray; return-object p0 .end method .method public getJSONObject(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONObject; .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 100 invoke-interface {p0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 102 instance-of p1, p0, Lcom/alibaba/fastjson/JSONObject; if-eqz p1, :cond_0 .line 103 check-cast p0, Lcom/alibaba/fastjson/JSONObject; return-object p0 .line 106 :cond_0 instance-of p1, p0, Ljava/lang/String; if-eqz p1, :cond_1 .line 107 check-cast p0, Ljava/lang/String; invoke-static {p0}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONObject; move-result-object p0 return-object p0 .line 110 :cond_1 invoke-static {p0}, Lcom/alibaba/fastjson/JSONObject;->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 getLong(Ljava/lang/String;)Ljava/lang/Long; .locals 0 .line 224 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 226 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToLong(Ljava/lang/Object;)Ljava/lang/Long; move-result-object p0 return-object p0 .end method .method public getLongValue(Ljava/lang/String;)J .locals 0 .line 230 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 232 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToLong(Ljava/lang/Object;)Ljava/lang/Long; move-result-object p0 if-nez p0, :cond_0 const-wide/16 p0, 0x0 return-wide p0 .line 237 :cond_0 invoke-virtual {p0}, Ljava/lang/Long;->longValue()J move-result-wide p0 return-wide p0 .end method .method public getObject(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/Class<", "TT;>;)TT;" } .end annotation iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 128 invoke-interface {p0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 129 invoke-static {p0, p2}, Lcom/alibaba/fastjson/util/TypeUtils;->castToJavaBean(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public varargs getObject(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 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 133 invoke-interface {p0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 134 sget p1, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I const/4 v0, 0x0 .line 135 :goto_0 array-length v1, p3 if-ge v0, v1, :cond_0 .line 136 aget-object v1, p3, v0 iget v1, v1, Lcom/alibaba/fastjson/parser/Feature;->mask:I or-int/2addr p1, v1 add-int/lit8 v0, v0, 0x1 goto :goto_0 .line 138 :cond_0 sget-object p3, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig; invoke-static {p0, p2, p3, p1}, Lcom/alibaba/fastjson/util/TypeUtils;->cast(Ljava/lang/Object;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/ParserConfig;I)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public getShort(Ljava/lang/String;)Ljava/lang/Short; .locals 0 .line 190 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 192 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToShort(Ljava/lang/Object;)Ljava/lang/Short; move-result-object p0 return-object p0 .end method .method public getShortValue(Ljava/lang/String;)S .locals 0 .line 196 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 198 invoke-static {p0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToShort(Ljava/lang/Object;)Ljava/lang/Short; move-result-object p0 if-nez p0, :cond_0 const/4 p0, 0x0 return p0 .line 203 :cond_0 invoke-virtual {p0}, Ljava/lang/Short;->shortValue()S move-result p0 return p0 .end method .method public getString(Ljava/lang/String;)Ljava/lang/String; .locals 0 .line 287 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 if-nez p0, :cond_0 const/4 p0, 0x0 return-object p0 .line 293 :cond_0 invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public hashCode()I .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 340 invoke-interface {p0}, Ljava/util/Map;->hashCode()I move-result p0 return p0 .end method .method public invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; .locals 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/Throwable; } .end annotation .line 344 invoke-virtual {p2}, Ljava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class; move-result-object p1 .line 345 array-length v0, p1 const/4 v1, 0x3 const/4 v2, 0x0 const/4 v3, 0x0 const/4 v4, 0x1 if-ne v0, v4, :cond_6 .line 346 invoke-virtual {p2}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String; move-result-object p1 const-string v0, "equals" invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p1 if-eqz p1, :cond_0 .line 347 aget-object p1, p3, v3 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONObject;->equals(Ljava/lang/Object;)Z move-result p0 invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object p0 return-object p0 .line 350 :cond_0 invoke-virtual {p2}, Ljava/lang/reflect/Method;->getReturnType()Ljava/lang/Class; move-result-object p1 .line 351 sget-object v0, Ljava/lang/Void;->TYPE:Ljava/lang/Class; const-string v5, "illegal setter" if-ne p1, v0, :cond_5 .line 356 const-class p1, Lcom/alibaba/fastjson/annotation/JSONField; invoke-virtual {p2, p1}, Ljava/lang/reflect/Method;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation; move-result-object p1 check-cast p1, Lcom/alibaba/fastjson/annotation/JSONField; if-eqz p1, :cond_1 .line 358 invoke-interface {p1}, Lcom/alibaba/fastjson/annotation/JSONField;->name()Ljava/lang/String; move-result-object v0 invoke-virtual {v0}, Ljava/lang/String;->length()I move-result v0 if-eqz v0, :cond_1 .line 359 invoke-interface {p1}, Lcom/alibaba/fastjson/annotation/JSONField;->name()Ljava/lang/String; move-result-object p1 goto :goto_0 :cond_1 move-object p1, v2 :goto_0 if-nez p1, :cond_4 .line 364 invoke-virtual {p2}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String; move-result-object p1 const-string p2, "set" .line 366 invoke-virtual {p1, p2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result p2 if-eqz p2, :cond_3 .line 370 invoke-virtual {p1, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p1 .line 371 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result p2 if-eqz p2, :cond_2 .line 374 new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C move-result v0 invoke-static {v0}, Ljava/lang/Character;->toLowerCase(C)C move-result v0 invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p1, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p1 invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 goto :goto_1 .line 372 :cond_2 new-instance p0, Lcom/alibaba/fastjson/JSONException; invoke-direct {p0, v5}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw p0 .line 367 :cond_3 new-instance p0, Lcom/alibaba/fastjson/JSONException; invoke-direct {p0, v5}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw p0 :cond_4 :goto_1 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 377 aget-object p2, p3, v3 invoke-interface {p0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; return-object v2 .line 352 :cond_5 new-instance p0, Lcom/alibaba/fastjson/JSONException; invoke-direct {p0, v5}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw p0 .line 381 :cond_6 array-length p1, p1 if-nez p1, :cond_10 .line 382 invoke-virtual {p2}, Ljava/lang/reflect/Method;->getReturnType()Ljava/lang/Class; move-result-object p1 .line 383 sget-object p3, Ljava/lang/Void;->TYPE:Ljava/lang/Class; const-string v0, "illegal getter" if-eq p1, p3, :cond_f .line 388 const-class p1, Lcom/alibaba/fastjson/annotation/JSONField; invoke-virtual {p2, p1}, Ljava/lang/reflect/Method;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation; move-result-object p1 check-cast p1, Lcom/alibaba/fastjson/annotation/JSONField; if-eqz p1, :cond_7 .line 390 invoke-interface {p1}, Lcom/alibaba/fastjson/annotation/JSONField;->name()Ljava/lang/String; move-result-object p3 invoke-virtual {p3}, Ljava/lang/String;->length()I move-result p3 if-eqz p3, :cond_7 .line 391 invoke-interface {p1}, Lcom/alibaba/fastjson/annotation/JSONField;->name()Ljava/lang/String; move-result-object v2 :cond_7 if-nez v2, :cond_e .line 396 invoke-virtual {p2}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String; move-result-object p1 const-string p3, "get" .line 397 invoke-virtual {p1, p3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result p3 if-eqz p3, :cond_9 .line 398 invoke-virtual {p1, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p1 .line 399 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result p3 if-eqz p3, :cond_8 .line 402 new-instance p3, Ljava/lang/StringBuilder; invoke-direct {p3}, Ljava/lang/StringBuilder;->()V invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C move-result v0 invoke-static {v0}, Ljava/lang/Character;->toLowerCase(C)C move-result v0 invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p1, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p1 invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 goto :goto_2 .line 400 :cond_8 new-instance p0, Lcom/alibaba/fastjson/JSONException; invoke-direct {p0, v0}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw p0 :cond_9 const-string p3, "is" .line 403 invoke-virtual {p1, p3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result p3 if-eqz p3, :cond_b const/4 p3, 0x2 .line 404 invoke-virtual {p1, p3}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p1 .line 405 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result p3 if-eqz p3, :cond_a .line 408 new-instance p3, Ljava/lang/StringBuilder; invoke-direct {p3}, Ljava/lang/StringBuilder;->()V invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C move-result v0 invoke-static {v0}, Ljava/lang/Character;->toLowerCase(C)C move-result v0 invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p1, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p1 invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 goto :goto_2 .line 406 :cond_a new-instance p0, Lcom/alibaba/fastjson/JSONException; invoke-direct {p0, v0}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw p0 :cond_b const-string p2, "hashCode" .line 409 invoke-virtual {p1, p2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result p2 if-eqz p2, :cond_c .line 410 invoke-virtual {p0}, Lcom/alibaba/fastjson/JSONObject;->hashCode()I move-result p0 invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 return-object p0 :cond_c const-string p2, "toString" .line 411 invoke-virtual {p1, p2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result p1 if-eqz p1, :cond_d .line 412 invoke-virtual {p0}, Lcom/alibaba/fastjson/JSONObject;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .line 414 :cond_d new-instance p0, Lcom/alibaba/fastjson/JSONException; invoke-direct {p0, v0}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw p0 :cond_e :goto_2 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 418 invoke-interface {p0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .line 419 invoke-virtual {p2}, Ljava/lang/reflect/Method;->getGenericReturnType()Ljava/lang/reflect/Type; move-result-object p1 sget-object p2, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig; invoke-static {p0, p1, p2}, Lcom/alibaba/fastjson/util/TypeUtils;->cast(Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/lang/Object; move-result-object p0 return-object p0 .line 384 :cond_f new-instance p0, Lcom/alibaba/fastjson/JSONException; invoke-direct {p0, v0}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw p0 .line 422 :cond_10 new-instance p0, Ljava/lang/UnsupportedOperationException; invoke-virtual {p2}, Ljava/lang/reflect/Method;->toGenericString()Ljava/lang/String; move-result-object p1 invoke-direct {p0, p1}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p0 .end method .method public isEmpty()Z .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 84 invoke-interface {p0}, Ljava/util/Map;->isEmpty()Z move-result p0 return p0 .end method .method public keySet()Ljava/util/Set; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Set<", "Ljava/lang/String;", ">;" } .end annotation iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 319 invoke-interface {p0}, Ljava/util/Map;->keySet()Ljava/util/Set; move-result-object p0 return-object p0 .end method .method public bridge synthetic put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .locals 0 .line 50 check-cast p1, Ljava/lang/String; invoke-virtual {p0, p1, p2}, Lcom/alibaba/fastjson/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 303 invoke-interface {p0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public putAll(Ljava/util/Map;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map<", "+", "Ljava/lang/String;", "+", "Ljava/lang/Object;", ">;)V" } .end annotation iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 307 invoke-interface {p0, p1}, Ljava/util/Map;->putAll(Ljava/util/Map;)V return-void .end method .method public remove(Ljava/lang/Object;)Ljava/lang/Object; .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 315 invoke-interface {p0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public size()I .locals 0 iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 80 invoke-interface {p0}, Ljava/util/Map;->size()I move-result p0 return p0 .end method .method public toJavaObject(Ljava/lang/Class;)Ljava/lang/Object; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "TT;>;)TT;" } .end annotation .line 430 const-class v0, Ljava/util/Map; if-ne p1, v0, :cond_0 return-object p0 .line 434 :cond_0 const-class v0, Ljava/lang/Object; if-ne p1, v0, :cond_1 const-string v0, "@type" invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/JSONObject;->containsKey(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_1 return-object p0 .line 438 :cond_1 invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig; move-result-object v0 const/4 v1, 0x0 invoke-static {p0, p1, v0, v1}, Lcom/alibaba/fastjson/util/TypeUtils;->castToJavaBean(Ljava/util/Map;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/ParserConfig;I)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public toJavaObject(Ljava/lang/Class;Lcom/alibaba/fastjson/parser/ParserConfig;I)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "TT;>;", "Lcom/alibaba/fastjson/parser/ParserConfig;", "I)TT;" } .end annotation .line 442 const-class v0, Ljava/util/Map; if-ne p1, v0, :cond_0 return-object p0 .line 446 :cond_0 const-class v0, Ljava/lang/Object; if-ne p1, v0, :cond_1 const-string v0, "@type" invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/JSONObject;->containsKey(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_1 return-object p0 .line 450 :cond_1 invoke-static {p0, p1, p2, p3}, Lcom/alibaba/fastjson/util/TypeUtils;->castToJavaBean(Ljava/util/Map;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/ParserConfig;I)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public values()Ljava/util/Collection; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Collection<", "Ljava/lang/Object;", ">;" } .end annotation iget-object p0, p0, Lcom/alibaba/fastjson/JSONObject;->map:Ljava/util/Map; .line 323 invoke-interface {p0}, Ljava/util/Map;->values()Ljava/util/Collection; move-result-object p0 return-object p0 .end method