Copy disabled (too large)
Download .txt
Showing preview only (10,680K chars total). Download the full file to get everything.
Repository: alibaba/fastjson
Branch: master
Commit: c942c8344311
Files: 3240
Total size: 9.5 MB
Directory structure:
gitextract_e_i0aaw3/
├── .github/
│ └── workflows/
│ └── ci.yaml
├── .gitignore
├── .gitpod.yml
├── .travis.yml
├── CONTRIBUTING.md
├── README.md
├── SECURITY.md
├── license.txt
├── pom.xml
├── rfc4627.txt
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── META-INF/
│ │ │ │ └── MANIFEST.MF
│ │ │ └── com/
│ │ │ └── alibaba/
│ │ │ └── fastjson/
│ │ │ ├── JSON.java
│ │ │ ├── JSONArray.java
│ │ │ ├── JSONAware.java
│ │ │ ├── JSONException.java
│ │ │ ├── JSONObject.java
│ │ │ ├── JSONPObject.java
│ │ │ ├── JSONPatch.java
│ │ │ ├── JSONPath.java
│ │ │ ├── JSONPathException.java
│ │ │ ├── JSONReader.java
│ │ │ ├── JSONStreamAware.java
│ │ │ ├── JSONStreamContext.java
│ │ │ ├── JSONValidator.java
│ │ │ ├── JSONWriter.java
│ │ │ ├── PropertyNamingStrategy.java
│ │ │ ├── TypeReference.java
│ │ │ ├── annotation/
│ │ │ │ ├── JSONCreator.java
│ │ │ │ ├── JSONField.java
│ │ │ │ ├── JSONPOJOBuilder.java
│ │ │ │ └── JSONType.java
│ │ │ ├── asm/
│ │ │ │ ├── ByteVector.java
│ │ │ │ ├── ClassReader.java
│ │ │ │ ├── ClassWriter.java
│ │ │ │ ├── FieldWriter.java
│ │ │ │ ├── Item.java
│ │ │ │ ├── Label.java
│ │ │ │ ├── MethodCollector.java
│ │ │ │ ├── MethodVisitor.java
│ │ │ │ ├── MethodWriter.java
│ │ │ │ ├── Opcodes.java
│ │ │ │ ├── Type.java
│ │ │ │ └── TypeCollector.java
│ │ │ ├── parser/
│ │ │ │ ├── DefaultExtJSONParser.java
│ │ │ │ ├── DefaultJSONParser.java
│ │ │ │ ├── Feature.java
│ │ │ │ ├── JSONLexer.java
│ │ │ │ ├── JSONLexerBase.java
│ │ │ │ ├── JSONReaderScanner.java
│ │ │ │ ├── JSONScanner.java
│ │ │ │ ├── JSONToken.java
│ │ │ │ ├── ParseContext.java
│ │ │ │ ├── ParserConfig.java
│ │ │ │ ├── SymbolTable.java
│ │ │ │ └── deserializer/
│ │ │ │ ├── ASMDeserializerFactory.java
│ │ │ │ ├── AbstractDateDeserializer.java
│ │ │ │ ├── ArrayListTypeFieldDeserializer.java
│ │ │ │ ├── AutowiredObjectDeserializer.java
│ │ │ │ ├── ContextObjectDeserializer.java
│ │ │ │ ├── DefaultFieldDeserializer.java
│ │ │ │ ├── EnumCreatorDeserializer.java
│ │ │ │ ├── EnumDeserializer.java
│ │ │ │ ├── ExtraProcessable.java
│ │ │ │ ├── ExtraProcessor.java
│ │ │ │ ├── ExtraTypeProvider.java
│ │ │ │ ├── FieldDeserializer.java
│ │ │ │ ├── FieldTypeResolver.java
│ │ │ │ ├── JSONPDeserializer.java
│ │ │ │ ├── JavaBeanDeserializer.java
│ │ │ │ ├── JavaObjectDeserializer.java
│ │ │ │ ├── Jdk8DateCodec.java
│ │ │ │ ├── MapDeserializer.java
│ │ │ │ ├── NumberDeserializer.java
│ │ │ │ ├── ObjectDeserializer.java
│ │ │ │ ├── OptionalCodec.java
│ │ │ │ ├── ParseProcess.java
│ │ │ │ ├── PropertyProcessable.java
│ │ │ │ ├── PropertyProcessableDeserializer.java
│ │ │ │ ├── ResolveFieldDeserializer.java
│ │ │ │ ├── SqlDateDeserializer.java
│ │ │ │ ├── StackTraceElementDeserializer.java
│ │ │ │ ├── ThrowableDeserializer.java
│ │ │ │ └── TimeDeserializer.java
│ │ │ ├── serializer/
│ │ │ │ ├── ASMSerializerFactory.java
│ │ │ │ ├── AdderSerializer.java
│ │ │ │ ├── AfterFilter.java
│ │ │ │ ├── AnnotationSerializer.java
│ │ │ │ ├── AppendableSerializer.java
│ │ │ │ ├── ArraySerializer.java
│ │ │ │ ├── AtomicCodec.java
│ │ │ │ ├── AutowiredObjectSerializer.java
│ │ │ │ ├── AwtCodec.java
│ │ │ │ ├── BeanContext.java
│ │ │ │ ├── BeforeFilter.java
│ │ │ │ ├── BigDecimalCodec.java
│ │ │ │ ├── BigIntegerCodec.java
│ │ │ │ ├── BooleanCodec.java
│ │ │ │ ├── ByteBufferCodec.java
│ │ │ │ ├── CalendarCodec.java
│ │ │ │ ├── CharArrayCodec.java
│ │ │ │ ├── CharacterCodec.java
│ │ │ │ ├── ClobSerializer.java
│ │ │ │ ├── CollectionCodec.java
│ │ │ │ ├── ContextObjectSerializer.java
│ │ │ │ ├── ContextValueFilter.java
│ │ │ │ ├── DateCodec.java
│ │ │ │ ├── DoubleSerializer.java
│ │ │ │ ├── EnumSerializer.java
│ │ │ │ ├── EnumerationSerializer.java
│ │ │ │ ├── FieldSerializer.java
│ │ │ │ ├── FloatCodec.java
│ │ │ │ ├── GuavaCodec.java
│ │ │ │ ├── IntegerCodec.java
│ │ │ │ ├── JSONAwareSerializer.java
│ │ │ │ ├── JSONLibDataFormatSerializer.java
│ │ │ │ ├── JSONObjectCodec.java
│ │ │ │ ├── JSONSerializable.java
│ │ │ │ ├── JSONSerializableSerializer.java
│ │ │ │ ├── JSONSerializer.java
│ │ │ │ ├── JSONSerializerMap.java
│ │ │ │ ├── JavaBeanSerializer.java
│ │ │ │ ├── JodaCodec.java
│ │ │ │ ├── LabelFilter.java
│ │ │ │ ├── Labels.java
│ │ │ │ ├── ListSerializer.java
│ │ │ │ ├── LongCodec.java
│ │ │ │ ├── MapSerializer.java
│ │ │ │ ├── MiscCodec.java
│ │ │ │ ├── NameFilter.java
│ │ │ │ ├── ObjectArrayCodec.java
│ │ │ │ ├── ObjectSerializer.java
│ │ │ │ ├── PascalNameFilter.java
│ │ │ │ ├── PrimitiveArraySerializer.java
│ │ │ │ ├── PropertyFilter.java
│ │ │ │ ├── PropertyPreFilter.java
│ │ │ │ ├── ReferenceCodec.java
│ │ │ │ ├── SerialContext.java
│ │ │ │ ├── SerializeBeanInfo.java
│ │ │ │ ├── SerializeConfig.java
│ │ │ │ ├── SerializeFilter.java
│ │ │ │ ├── SerializeFilterable.java
│ │ │ │ ├── SerializeWriter.java
│ │ │ │ ├── SerializerFeature.java
│ │ │ │ ├── SimpleDateFormatSerializer.java
│ │ │ │ ├── SimplePropertyPreFilter.java
│ │ │ │ ├── StringCodec.java
│ │ │ │ ├── ToStringSerializer.java
│ │ │ │ └── ValueFilter.java
│ │ │ ├── spi/
│ │ │ │ └── Module.java
│ │ │ ├── support/
│ │ │ │ ├── config/
│ │ │ │ │ └── FastJsonConfig.java
│ │ │ │ ├── geo/
│ │ │ │ │ ├── Feature.java
│ │ │ │ │ ├── FeatureCollection.java
│ │ │ │ │ ├── Geometry.java
│ │ │ │ │ ├── GeometryCollection.java
│ │ │ │ │ ├── LineString.java
│ │ │ │ │ ├── MultiLineString.java
│ │ │ │ │ ├── MultiPoint.java
│ │ │ │ │ ├── MultiPolygon.java
│ │ │ │ │ ├── Point.java
│ │ │ │ │ └── Polygon.java
│ │ │ │ ├── hsf/
│ │ │ │ │ ├── HSFJSONUtils.java
│ │ │ │ │ └── MethodLocator.java
│ │ │ │ ├── jaxrs/
│ │ │ │ │ ├── FastJsonAutoDiscoverable.java
│ │ │ │ │ ├── FastJsonFeature.java
│ │ │ │ │ └── FastJsonProvider.java
│ │ │ │ ├── moneta/
│ │ │ │ │ └── MonetaCodec.java
│ │ │ │ ├── retrofit/
│ │ │ │ │ └── Retrofit2ConverterFactory.java
│ │ │ │ ├── spring/
│ │ │ │ │ ├── FastJsonContainer.java
│ │ │ │ │ ├── FastJsonHttpMessageConverter.java
│ │ │ │ │ ├── FastJsonHttpMessageConverter4.java
│ │ │ │ │ ├── FastJsonJsonView.java
│ │ │ │ │ ├── FastJsonRedisSerializer.java
│ │ │ │ │ ├── FastJsonViewResponseBodyAdvice.java
│ │ │ │ │ ├── FastJsonpHttpMessageConverter4.java
│ │ │ │ │ ├── FastJsonpResponseBodyAdvice.java
│ │ │ │ │ ├── FastjsonSockJsMessageCodec.java
│ │ │ │ │ ├── GenericFastJsonRedisSerializer.java
│ │ │ │ │ ├── JSONPResponseBodyAdvice.java
│ │ │ │ │ ├── MappingFastJsonValue.java
│ │ │ │ │ ├── PropertyPreFilters.java
│ │ │ │ │ ├── annotation/
│ │ │ │ │ │ ├── FastJsonFilter.java
│ │ │ │ │ │ ├── FastJsonView.java
│ │ │ │ │ │ └── ResponseJSONP.java
│ │ │ │ │ └── messaging/
│ │ │ │ │ └── MappingFastJsonMessageConverter.java
│ │ │ │ └── springfox/
│ │ │ │ └── SwaggerJsonSerializer.java
│ │ │ └── util/
│ │ │ ├── ASMClassLoader.java
│ │ │ ├── ASMUtils.java
│ │ │ ├── AntiCollisionHashMap.java
│ │ │ ├── Base64.java
│ │ │ ├── BiFunction.java
│ │ │ ├── FieldInfo.java
│ │ │ ├── Function.java
│ │ │ ├── GenericArrayTypeImpl.java
│ │ │ ├── IOUtils.java
│ │ │ ├── IdentityHashMap.java
│ │ │ ├── JavaBeanInfo.java
│ │ │ ├── ModuleUtil.java
│ │ │ ├── ParameterizedTypeImpl.java
│ │ │ ├── RyuDouble.java
│ │ │ ├── RyuFloat.java
│ │ │ ├── ServiceLoader.java
│ │ │ ├── ThreadLocalCache.java
│ │ │ ├── TypeUtils.java
│ │ │ └── UTF8Decoder.java
│ │ └── resources/
│ │ └── META-INF/
│ │ ├── LICENSE.txt
│ │ ├── NOTICE.txt
│ │ └── services/
│ │ ├── javax.ws.rs.ext.MessageBodyReader
│ │ ├── javax.ws.rs.ext.MessageBodyWriter
│ │ ├── javax.ws.rs.ext.Providers
│ │ └── org.glassfish.jersey.internal.spi.AutoDiscoverable
│ └── test/
│ ├── java/
│ │ ├── cn/
│ │ │ └── com/
│ │ │ └── tx/
│ │ │ └── domain/
│ │ │ ├── notifyDetail/
│ │ │ │ └── NotifyDetail.java
│ │ │ └── pagination/
│ │ │ └── Pagination.java
│ │ ├── com/
│ │ │ ├── alibaba/
│ │ │ │ ├── china/
│ │ │ │ │ └── bolt/
│ │ │ │ │ └── biz/
│ │ │ │ │ └── daili/
│ │ │ │ │ └── merchants/
│ │ │ │ │ └── vo/
│ │ │ │ │ └── MerchantsVO.java
│ │ │ │ ├── fastjson/
│ │ │ │ │ ├── JSONPathTest.java
│ │ │ │ │ ├── codegen/
│ │ │ │ │ │ ├── ClassGen.java
│ │ │ │ │ │ └── DeserializerGen.java
│ │ │ │ │ ├── deserializer/
│ │ │ │ │ │ ├── IgnoreTypeDeserializer.java
│ │ │ │ │ │ ├── TestISO8601Date.java
│ │ │ │ │ │ ├── ValueBean.java
│ │ │ │ │ │ ├── issue1463/
│ │ │ │ │ │ │ ├── TestIssue1463.java
│ │ │ │ │ │ │ └── beans/
│ │ │ │ │ │ │ └── Person.java
│ │ │ │ │ │ ├── issue2358/
│ │ │ │ │ │ │ └── TestJson.java
│ │ │ │ │ │ ├── issue2638/
│ │ │ │ │ │ │ ├── Person.java
│ │ │ │ │ │ │ └── TestIssue2638.java
│ │ │ │ │ │ ├── issue2711/
│ │ │ │ │ │ │ ├── PageRequest.java
│ │ │ │ │ │ │ ├── TestIssue.java
│ │ │ │ │ │ │ └── User.java
│ │ │ │ │ │ ├── issue2779/
│ │ │ │ │ │ │ ├── Issue2779Test.java
│ │ │ │ │ │ │ └── LargeJavaBean.java
│ │ │ │ │ │ ├── issue2898/
│ │ │ │ │ │ │ └── TestIssue2898.java
│ │ │ │ │ │ ├── issue2951/
│ │ │ │ │ │ │ └── TestIssue2951.java
│ │ │ │ │ │ ├── issue3050/
│ │ │ │ │ │ │ ├── TestIssue3050.java
│ │ │ │ │ │ │ └── beans/
│ │ │ │ │ │ │ └── Person.java
│ │ │ │ │ │ ├── issue3248/
│ │ │ │ │ │ │ └── TestIssue3248.kt
│ │ │ │ │ │ ├── issue3804/
│ │ │ │ │ │ │ └── TestIssue3804.java
│ │ │ │ │ │ ├── issues3671/
│ │ │ │ │ │ │ └── TestIssue3671.java
│ │ │ │ │ │ ├── issues3796/
│ │ │ │ │ │ │ ├── TestIssues3796.java
│ │ │ │ │ │ │ └── bean/
│ │ │ │ │ │ │ ├── CommonObject.java
│ │ │ │ │ │ │ ├── CommonObject2.java
│ │ │ │ │ │ │ ├── CommonObject3.java
│ │ │ │ │ │ │ ├── LargeJavaBean.java
│ │ │ │ │ │ │ ├── ObjectA.java
│ │ │ │ │ │ │ ├── ObjectA1.java
│ │ │ │ │ │ │ ├── ObjectA2.java
│ │ │ │ │ │ │ ├── ObjectB.java
│ │ │ │ │ │ │ ├── ObjectB1.java
│ │ │ │ │ │ │ ├── ObjectB2.java
│ │ │ │ │ │ │ ├── ObjectC.java
│ │ │ │ │ │ │ ├── ObjectC1.java
│ │ │ │ │ │ │ ├── ObjectC2.java
│ │ │ │ │ │ │ ├── ObjectD.java
│ │ │ │ │ │ │ ├── ObjectD1.java
│ │ │ │ │ │ │ ├── ObjectD1_A.java
│ │ │ │ │ │ │ ├── ObjectD2.java
│ │ │ │ │ │ │ ├── ObjectD_A.java
│ │ │ │ │ │ │ ├── ObjectD_B.java
│ │ │ │ │ │ │ ├── ObjectE.java
│ │ │ │ │ │ │ ├── ObjectE1.java
│ │ │ │ │ │ │ ├── ObjectE2.java
│ │ │ │ │ │ │ ├── ObjectF.java
│ │ │ │ │ │ │ ├── ObjectF1.java
│ │ │ │ │ │ │ ├── ObjectF2.java
│ │ │ │ │ │ │ ├── ObjectG.java
│ │ │ │ │ │ │ ├── ObjectG1.java
│ │ │ │ │ │ │ ├── ObjectG2.java
│ │ │ │ │ │ │ ├── ObjectH.java
│ │ │ │ │ │ │ ├── ObjectH1.java
│ │ │ │ │ │ │ ├── ObjectH2.java
│ │ │ │ │ │ │ ├── ObjectH_A.java
│ │ │ │ │ │ │ ├── ObjectI.java
│ │ │ │ │ │ │ ├── ObjectI1.java
│ │ │ │ │ │ │ ├── ObjectI2.java
│ │ │ │ │ │ │ ├── ObjectI_A.java
│ │ │ │ │ │ │ ├── ObjectJ.java
│ │ │ │ │ │ │ ├── ObjectJ1.java
│ │ │ │ │ │ │ ├── ObjectJ1_A.java
│ │ │ │ │ │ │ ├── ObjectJ1_C.java
│ │ │ │ │ │ │ ├── ObjectJ2.java
│ │ │ │ │ │ │ ├── ObjectJ_A.java
│ │ │ │ │ │ │ ├── ObjectJ_B.java
│ │ │ │ │ │ │ ├── ObjectJ_C.java
│ │ │ │ │ │ │ ├── ObjectK.java
│ │ │ │ │ │ │ ├── ObjectK1.java
│ │ │ │ │ │ │ ├── ObjectK1_A.java
│ │ │ │ │ │ │ ├── ObjectK1_C.java
│ │ │ │ │ │ │ ├── ObjectK2.java
│ │ │ │ │ │ │ ├── ObjectK2_A.java
│ │ │ │ │ │ │ ├── ObjectL.java
│ │ │ │ │ │ │ ├── ObjectL1.java
│ │ │ │ │ │ │ ├── ObjectL1_A.java
│ │ │ │ │ │ │ ├── ObjectL2.java
│ │ │ │ │ │ │ ├── ObjectL2_A.java
│ │ │ │ │ │ │ ├── ObjectL2_B.java
│ │ │ │ │ │ │ ├── ObjectL2_C.java
│ │ │ │ │ │ │ ├── ObjectL_A.java
│ │ │ │ │ │ │ ├── ObjectL_B.java
│ │ │ │ │ │ │ ├── ObjectM.java
│ │ │ │ │ │ │ ├── ObjectM1.java
│ │ │ │ │ │ │ ├── ObjectM1_A.java
│ │ │ │ │ │ │ ├── ObjectM1_B.java
│ │ │ │ │ │ │ ├── ObjectM1_C.java
│ │ │ │ │ │ │ ├── ObjectM2.java
│ │ │ │ │ │ │ ├── ObjectM2_A.java
│ │ │ │ │ │ │ ├── ObjectM_A.java
│ │ │ │ │ │ │ ├── ObjectM_B.java
│ │ │ │ │ │ │ ├── ObjectN.java
│ │ │ │ │ │ │ ├── ObjectN1.java
│ │ │ │ │ │ │ ├── ObjectN2.java
│ │ │ │ │ │ │ ├── ObjectO.java
│ │ │ │ │ │ │ ├── ObjectO1.java
│ │ │ │ │ │ │ ├── ObjectO1_A.java
│ │ │ │ │ │ │ ├── ObjectO2.java
│ │ │ │ │ │ │ ├── ObjectO_A.java
│ │ │ │ │ │ │ ├── ObjectP.java
│ │ │ │ │ │ │ ├── ObjectP1.java
│ │ │ │ │ │ │ ├── ObjectP1_A.java
│ │ │ │ │ │ │ ├── ObjectP1_B.java
│ │ │ │ │ │ │ ├── ObjectP_A.java
│ │ │ │ │ │ │ ├── ObjectQ.java
│ │ │ │ │ │ │ ├── ObjectQ1.java
│ │ │ │ │ │ │ ├── ObjectQ1_A.java
│ │ │ │ │ │ │ ├── ObjectQ1_B.java
│ │ │ │ │ │ │ ├── ObjectR.java
│ │ │ │ │ │ │ ├── ObjectR1.java
│ │ │ │ │ │ │ ├── ObjectS.java
│ │ │ │ │ │ │ ├── ObjectS1.java
│ │ │ │ │ │ │ ├── ObjectS1_A.java
│ │ │ │ │ │ │ ├── ObjectT.java
│ │ │ │ │ │ │ ├── ObjectT1.java
│ │ │ │ │ │ │ ├── ObjectT_A.java
│ │ │ │ │ │ │ ├── ObjectU.java
│ │ │ │ │ │ │ ├── ObjectU1.java
│ │ │ │ │ │ │ ├── ObjectU1_A.java
│ │ │ │ │ │ │ ├── ObjectU1_B.java
│ │ │ │ │ │ │ ├── ObjectU1_C.java
│ │ │ │ │ │ │ ├── ObjectV.java
│ │ │ │ │ │ │ ├── ObjectV1.java
│ │ │ │ │ │ │ ├── ObjectV1_A.java
│ │ │ │ │ │ │ ├── ObjectV_A.java
│ │ │ │ │ │ │ ├── ObjectW.java
│ │ │ │ │ │ │ ├── ObjectW1.java
│ │ │ │ │ │ │ ├── ObjectX.java
│ │ │ │ │ │ │ ├── ObjectX1.java
│ │ │ │ │ │ │ ├── ObjectY.java
│ │ │ │ │ │ │ ├── ObjectY1.java
│ │ │ │ │ │ │ ├── ObjectY_A.java
│ │ │ │ │ │ │ ├── ObjectZ.java
│ │ │ │ │ │ │ ├── ObjectZ1.java
│ │ │ │ │ │ │ ├── ObjectZ1_A.java
│ │ │ │ │ │ │ └── OjectN_A.java
│ │ │ │ │ │ ├── issues569/
│ │ │ │ │ │ │ ├── TestIssues569.java
│ │ │ │ │ │ │ ├── beans/
│ │ │ │ │ │ │ │ ├── Dept.java
│ │ │ │ │ │ │ │ └── MyResponse.java
│ │ │ │ │ │ │ └── parser/
│ │ │ │ │ │ │ ├── DefaultFieldDeserializerBug569.java
│ │ │ │ │ │ │ └── ParserConfigBug569.java
│ │ │ │ │ │ └── javabean/
│ │ │ │ │ │ ├── ConvertDO.java
│ │ │ │ │ │ ├── ConvertEnum.java
│ │ │ │ │ │ └── JavaBeanConvertTest.java
│ │ │ │ │ ├── jsonpath/
│ │ │ │ │ │ ├── issue3493/
│ │ │ │ │ │ │ └── TestIssue3493.java
│ │ │ │ │ │ └── issue3607/
│ │ │ │ │ │ └── TestIssue3607.java
│ │ │ │ │ ├── parser/
│ │ │ │ │ │ └── JSONScannerTest.java
│ │ │ │ │ ├── serializer/
│ │ │ │ │ │ ├── SerializeWriterTest.java
│ │ │ │ │ │ ├── SerializeWriterToBytesTest.java
│ │ │ │ │ │ ├── TestBean.java
│ │ │ │ │ │ ├── TestParse.java
│ │ │ │ │ │ ├── issue3084/
│ │ │ │ │ │ │ └── TestRefWithQuote.java
│ │ │ │ │ │ ├── issue3177/
│ │ │ │ │ │ │ ├── Test3177Bean.java
│ │ │ │ │ │ │ └── TestIssues3177.java
│ │ │ │ │ │ ├── issue3473/
│ │ │ │ │ │ │ └── SerializeWriterJavaSqlDateTest.java
│ │ │ │ │ │ ├── issue3479/
│ │ │ │ │ │ │ └── TestIssue3479.java
│ │ │ │ │ │ ├── issue3638and3067/
│ │ │ │ │ │ │ └── Issue3638and3067Test.java
│ │ │ │ │ │ └── issues3601/
│ │ │ │ │ │ ├── TestEntity.java
│ │ │ │ │ │ ├── TestEnum.java
│ │ │ │ │ │ └── TestIssue3601.java
│ │ │ │ │ ├── support/
│ │ │ │ │ │ └── jaxrs/
│ │ │ │ │ │ ├── TestIssue885.java
│ │ │ │ │ │ └── User.java
│ │ │ │ │ └── validate/
│ │ │ │ │ ├── JSONValidateTest_0.java
│ │ │ │ │ ├── JSONValidateTest_T1
│ │ │ │ │ ├── JSONValidateTest_basic.java
│ │ │ │ │ └── JSONValidateTest_file.java
│ │ │ │ └── json/
│ │ │ │ ├── ArrayRefTest2.java
│ │ │ │ ├── ByteArrayTest2.java
│ │ │ │ ├── SerializerFeatureDistinctTest.java
│ │ │ │ ├── TestGC.java
│ │ │ │ ├── bvt/
│ │ │ │ │ ├── AnnotationTest.java
│ │ │ │ │ ├── AnnotationTest2.java
│ │ │ │ │ ├── AnnotationTest3.java
│ │ │ │ │ ├── AppendableFieldTest.java
│ │ │ │ │ ├── ArmoryTest.java
│ │ │ │ │ ├── ArrayListFieldTest.java
│ │ │ │ │ ├── ArrayListFieldTest_1.java
│ │ │ │ │ ├── ArrayListFloatFieldTest.java
│ │ │ │ │ ├── ArrayRefTest.java
│ │ │ │ │ ├── Base64Test.java
│ │ │ │ │ ├── Base64Test2.java
│ │ │ │ │ ├── BigDecimalFieldTest.java
│ │ │ │ │ ├── BigIntegerFieldTest.java
│ │ │ │ │ ├── BooleanArrayFieldTest.java
│ │ │ │ │ ├── BooleanArrayFieldTest_primitive.java
│ │ │ │ │ ├── BooleanArrayFieldTest_primitive_private.java
│ │ │ │ │ ├── Bug12.java
│ │ │ │ │ ├── Bug89.java
│ │ │ │ │ ├── BuilderTest.java
│ │ │ │ │ ├── ByteArrayFieldTest_1.java
│ │ │ │ │ ├── ByteArrayFieldTest_2.java
│ │ │ │ │ ├── ByteArrayFieldTest_3.java
│ │ │ │ │ ├── ByteArrayFieldTest_4.java
│ │ │ │ │ ├── ByteArrayFieldTest_5_base64.java
│ │ │ │ │ ├── ByteArrayFieldTest_6_gzip.java
│ │ │ │ │ ├── ByteArrayFieldTest_7_gzip_hex.java
│ │ │ │ │ ├── ByteFieldTest.java
│ │ │ │ │ ├── CastTest.java
│ │ │ │ │ ├── CastTest2.java
│ │ │ │ │ ├── CharTypesTest.java
│ │ │ │ │ ├── CharsetFieldTest.java
│ │ │ │ │ ├── ChineseSpaceTest.java
│ │ │ │ │ ├── CircularReferenceTest.java
│ │ │ │ │ ├── ClassFieldTest.java
│ │ │ │ │ ├── CurrencyTest.java
│ │ │ │ │ ├── CurrencyTest3.java
│ │ │ │ │ ├── CurrencyTest4.java
│ │ │ │ │ ├── CurrencyTest5.java
│ │ │ │ │ ├── CurrencyTest_2.java
│ │ │ │ │ ├── DefaultJSONParserTest.java
│ │ │ │ │ ├── DefaultJSONParserTest_ref.java
│ │ │ │ │ ├── DeprecatedClassTest.java
│ │ │ │ │ ├── DisableSpecialKeyDetectTest.java
│ │ │ │ │ ├── DoubleArrayFieldTest_primitive.java
│ │ │ │ │ ├── DoubleFieldTest_A.java
│ │ │ │ │ ├── EmptyArrayAsNullTest.java
│ │ │ │ │ ├── EmptyObjectTest.java
│ │ │ │ │ ├── EnumFieldTest.java
│ │ │ │ │ ├── EnumFieldTest2.java
│ │ │ │ │ ├── EnumFieldTest2_private.java
│ │ │ │ │ ├── EnumFieldTest3.java
│ │ │ │ │ ├── EnumFieldTest3_private.java
│ │ │ │ │ ├── EnumerationTest.java
│ │ │ │ │ ├── FastJsonBigClassTest.java
│ │ │ │ │ ├── FieldBasedTest.java
│ │ │ │ │ ├── FileFieldTest.java
│ │ │ │ │ ├── FinalTest.java
│ │ │ │ │ ├── FloatArrayFieldTest_primitive.java
│ │ │ │ │ ├── FloatFieldTest.java
│ │ │ │ │ ├── FloatFieldTest_A.java
│ │ │ │ │ ├── FluentSetterTest.java
│ │ │ │ │ ├── GetSetNotMatchTest.java
│ │ │ │ │ ├── GroovyTest.java
│ │ │ │ │ ├── IncomingDataPointTest.java
│ │ │ │ │ ├── InetAddressFieldTest.java
│ │ │ │ │ ├── InetSocketAddressFieldTest.java
│ │ │ │ │ ├── IntArrayFieldTest_primitive.java
│ │ │ │ │ ├── IntKeyMapTest.java
│ │ │ │ │ ├── IntegerArrayFieldTest.java
│ │ │ │ │ ├── Issue213Test.java
│ │ │ │ │ ├── JSONArrayTest.java
│ │ │ │ │ ├── JSONArrayTest2.java
│ │ │ │ │ ├── JSONArrayTest3.java
│ │ │ │ │ ├── JSONArrayTest_hashCode.java
│ │ │ │ │ ├── JSONBytesTest.java
│ │ │ │ │ ├── JSONBytesTest2.java
│ │ │ │ │ ├── JSONBytesTest3.java
│ │ │ │ │ ├── JSONExceptionTest.java
│ │ │ │ │ ├── JSONFeidDemo2.java
│ │ │ │ │ ├── JSONFieldDefaultValueTest.java
│ │ │ │ │ ├── JSONFieldTest.java
│ │ │ │ │ ├── JSONFromObjectTest.java
│ │ │ │ │ ├── JSONObjectFluentTest.java
│ │ │ │ │ ├── JSONObjectTest.java
│ │ │ │ │ ├── JSONObjectTest2.java
│ │ │ │ │ ├── JSONObjectTest3.java
│ │ │ │ │ ├── JSONObjectTest4.java
│ │ │ │ │ ├── JSONObjectTest5.java
│ │ │ │ │ ├── JSONObjectTest6.java
│ │ │ │ │ ├── JSONObjectTest7.java
│ │ │ │ │ ├── JSONObjectTest_get.java
│ │ │ │ │ ├── JSONObjectTest_getBigInteger.java
│ │ │ │ │ ├── JSONObjectTest_getDate.java
│ │ │ │ │ ├── JSONObjectTest_getObj.java
│ │ │ │ │ ├── JSONObjectTest_getObj_2.java
│ │ │ │ │ ├── JSONObjectTest_get_2.java
│ │ │ │ │ ├── JSONObjectTest_hashCode.java
│ │ │ │ │ ├── JSONObjectTest_readObject.java
│ │ │ │ │ ├── JSONParseTest.java
│ │ │ │ │ ├── JSONTest.java
│ │ │ │ │ ├── JSONTest2.java
│ │ │ │ │ ├── JSONTest3.java
│ │ │ │ │ ├── JSONTest_Bytes.java
│ │ │ │ │ ├── JSONTest_Bytes_1.java
│ │ │ │ │ ├── JSONTest_null.java
│ │ │ │ │ ├── JSONTest_overflow.java
│ │ │ │ │ ├── JSONTokenTest.java
│ │ │ │ │ ├── JSONTypeTest.java
│ │ │ │ │ ├── JSONTypeTest1.java
│ │ │ │ │ ├── JSONTypeTest_orders_arrayMapping.java
│ │ │ │ │ ├── JSONTypeTest_orders_arrayMapping_2.java
│ │ │ │ │ ├── JSON_isValid_0.java
│ │ │ │ │ ├── JSON_isValid_1_error.java
│ │ │ │ │ ├── JSON_toJSONStringTest.java
│ │ │ │ │ ├── JSON_toJavaObject_test.java
│ │ │ │ │ ├── JavaBeanMappingTest.java
│ │ │ │ │ ├── JavaBeanTest.java
│ │ │ │ │ ├── JsonValueTest.java
│ │ │ │ │ ├── LexerTest.java
│ │ │ │ │ ├── LinkedListFieldTest.java
│ │ │ │ │ ├── ListFieldTest.java
│ │ │ │ │ ├── ListFieldTest2.java
│ │ │ │ │ ├── ListFieldTest3.java
│ │ │ │ │ ├── ListFloatFieldTest.java
│ │ │ │ │ ├── LocaleFieldTest.java
│ │ │ │ │ ├── LongArrayFieldTest.java
│ │ │ │ │ ├── LongArrayFieldTest_primitive.java
│ │ │ │ │ ├── LongFieldTest.java
│ │ │ │ │ ├── LongFieldTest_2.java
│ │ │ │ │ ├── LongFieldTest_2_private.java
│ │ │ │ │ ├── LongFieldTest_2_stream.java
│ │ │ │ │ ├── LongFieldTest_3.java
│ │ │ │ │ ├── LongFieldTest_3_private.java
│ │ │ │ │ ├── LongFieldTest_3_stream.java
│ │ │ │ │ ├── LongFieldTest_4.java
│ │ │ │ │ ├── LongFieldTest_4_stream.java
│ │ │ │ │ ├── LongFieldTest_primitive.java
│ │ │ │ │ ├── MapRefTest.java
│ │ │ │ │ ├── MapRefTest1.java
│ │ │ │ │ ├── MapRefTest2.java
│ │ │ │ │ ├── MapRefTest3.java
│ │ │ │ │ ├── MapRefTest4.java
│ │ │ │ │ ├── MapRefTest5.java
│ │ │ │ │ ├── MapRefTest6.java
│ │ │ │ │ ├── MapTest.java
│ │ │ │ │ ├── MapTest2.java
│ │ │ │ │ ├── MaterializedInterfaceTest.java
│ │ │ │ │ ├── MaterializedInterfaceTest2.java
│ │ │ │ │ ├── ModuleTest.java
│ │ │ │ │ ├── NotWriteRootClassNameTest.java
│ │ │ │ │ ├── NumberFieldTest.java
│ │ │ │ │ ├── OOMTest.java
│ │ │ │ │ ├── ObjectArrayFieldTest.java
│ │ │ │ │ ├── ObjectFieldTest.java
│ │ │ │ │ ├── OverriadeTest.java
│ │ │ │ │ ├── ParseArrayTest.java
│ │ │ │ │ ├── PatternFieldTest.java
│ │ │ │ │ ├── PointTest.java
│ │ │ │ │ ├── PointTest2.java
│ │ │ │ │ ├── PublicFieldDoubleTest.java
│ │ │ │ │ ├── PublicFieldFloatTest.java
│ │ │ │ │ ├── PublicFieldLongTest.java
│ │ │ │ │ ├── PublicFieldStringTest.java
│ │ │ │ │ ├── RectangleTest.java
│ │ │ │ │ ├── SerializeEnumAsJavaBeanTest.java
│ │ │ │ │ ├── SerializeEnumAsJavaBeanTest_manual.java
│ │ │ │ │ ├── SerializeEnumAsJavaBeanTest_private.java
│ │ │ │ │ ├── SerializeWriterTest.java
│ │ │ │ │ ├── ServiceLoaderTest.java
│ │ │ │ │ ├── ShortArrayFieldTest_primitive.java
│ │ │ │ │ ├── SlashTest.java
│ │ │ │ │ ├── SpecialKeyTest.java
│ │ │ │ │ ├── SpecialKeyTest2.java
│ │ │ │ │ ├── SqlDateTest1.java
│ │ │ │ │ ├── SqlTimestampTest.java
│ │ │ │ │ ├── StringBufferFieldTest.java
│ │ │ │ │ ├── StringBuilderFieldTest.java
│ │ │ │ │ ├── StringDeserializerTest.java
│ │ │ │ │ ├── StringFieldTest.java
│ │ │ │ │ ├── StringFieldTest2.java
│ │ │ │ │ ├── StringFieldTest_special.java
│ │ │ │ │ ├── StringFieldTest_special_1.java
│ │ │ │ │ ├── StringFieldTest_special_2.java
│ │ │ │ │ ├── StringFieldTest_special_3.java
│ │ │ │ │ ├── StringFieldTest_special_reader.java
│ │ │ │ │ ├── StringFieldTest_special_singquote.java
│ │ │ │ │ ├── SymbolTableTest.java
│ │ │ │ │ ├── TabCharTest.java
│ │ │ │ │ ├── TestDeprecate.java
│ │ │ │ │ ├── TestExternal.java
│ │ │ │ │ ├── TestExternal2.java
│ │ │ │ │ ├── TestExternal3.java
│ │ │ │ │ ├── TestExternal4.java
│ │ │ │ │ ├── TestExternal5.java
│ │ │ │ │ ├── TestExternal6.java
│ │ │ │ │ ├── TestFlase.java
│ │ │ │ │ ├── TestForEmoji.java
│ │ │ │ │ ├── TestForPascalStyle.java
│ │ │ │ │ ├── TestMultiLevelClass.java
│ │ │ │ │ ├── TestMultiLevelClass2.java
│ │ │ │ │ ├── TestNullKeyMap.java
│ │ │ │ │ ├── TestSerializable.java
│ │ │ │ │ ├── TestTimeUnit.java
│ │ │ │ │ ├── TimeZoneFieldTest.java
│ │ │ │ │ ├── TimestampTest.java
│ │ │ │ │ ├── TypeUtilstTest.java
│ │ │ │ │ ├── URIFieldTest.java
│ │ │ │ │ ├── URLFieldTest.java
│ │ │ │ │ ├── UUIDFieldTest.java
│ │ │ │ │ ├── UnQuoteFieldNamesTest.java
│ │ │ │ │ ├── WildcardTypeTest.java
│ │ │ │ │ ├── WriteClassNameTest.java
│ │ │ │ │ ├── WriteClassNameTest2.java
│ │ │ │ │ ├── XX01.java
│ │ │ │ │ ├── annotation/
│ │ │ │ │ │ ├── AnnotationTest.java
│ │ │ │ │ │ ├── CustomDeserializerTest.java
│ │ │ │ │ │ ├── CustomSerializerTest.java
│ │ │ │ │ │ ├── CustomSerializerTest_enum.java
│ │ │ │ │ │ ├── DeserializeUsingTest.java
│ │ │ │ │ │ ├── JSONTypeAutoTypeCheckHandlerTest.java
│ │ │ │ │ │ ├── JSONTypejsonType_alphabetic_Test.java
│ │ │ │ │ │ ├── JsonSeeAlsoTest.java
│ │ │ │ │ │ ├── SerializeUsingTest.java
│ │ │ │ │ │ └── SerializeUsingWhenString.java
│ │ │ │ │ ├── asm/
│ │ │ │ │ │ ├── ASMDeserTest.java
│ │ │ │ │ │ ├── ASMDeserTest2.java
│ │ │ │ │ │ ├── ASMUtilsTest.java
│ │ │ │ │ │ ├── Case0.java
│ │ │ │ │ │ ├── Case_Eishay.java
│ │ │ │ │ │ ├── ClassReaderTest.java
│ │ │ │ │ │ ├── Huge_200_ClassTest.java
│ │ │ │ │ │ ├── Huge_300_ClassTest.java
│ │ │ │ │ │ ├── JSONASMUtilTest.java
│ │ │ │ │ │ ├── LoopTest.java
│ │ │ │ │ │ ├── SortFieldTest.java
│ │ │ │ │ │ ├── TestList.java
│ │ │ │ │ │ ├── TestNonASM.java
│ │ │ │ │ │ └── TestType.java
│ │ │ │ │ ├── atomic/
│ │ │ │ │ │ ├── AtomicBooleanReadOnlyTest.java
│ │ │ │ │ │ ├── AtomicIntegerArrayFieldTest.java
│ │ │ │ │ │ ├── AtomicIntegerReadOnlyTest.java
│ │ │ │ │ │ ├── AtomicLongArrayFieldTest.java
│ │ │ │ │ │ └── AtomicLongReadOnlyTest.java
│ │ │ │ │ ├── awt/
│ │ │ │ │ │ ├── ColorTest.java
│ │ │ │ │ │ ├── FontTest.java
│ │ │ │ │ │ └── FontTest2.java
│ │ │ │ │ ├── basicType/
│ │ │ │ │ │ ├── BigDecimal_BrowserCompatible.java
│ │ │ │ │ │ ├── BigDecimal_field.java
│ │ │ │ │ │ ├── BigDecimal_type.java
│ │ │ │ │ │ ├── BigInteger_BrowserCompatible.java
│ │ │ │ │ │ ├── DoubleNullTest.java
│ │ │ │ │ │ ├── DoubleNullTest_primitive.java
│ │ │ │ │ │ ├── DoubleTest.java
│ │ │ │ │ │ ├── DoubleTest2_obj.java
│ │ │ │ │ │ ├── DoubleTest3_random.java
│ │ │ │ │ │ ├── FloatNullTest.java
│ │ │ │ │ │ ├── FloatNullTest_primitive.java
│ │ │ │ │ │ ├── FloatTest.java
│ │ │ │ │ │ ├── FloatTest2_obj.java
│ │ │ │ │ │ ├── FloatTest3_array_random.java
│ │ │ │ │ │ ├── FloatTest3_random.java
│ │ │ │ │ │ ├── IntNullTest_primitive.java
│ │ │ │ │ │ ├── IntTest.java
│ │ │ │ │ │ ├── IntegerNullTest.java
│ │ │ │ │ │ ├── LongNullTest.java
│ │ │ │ │ │ ├── LongNullTest_primitive.java
│ │ │ │ │ │ ├── LongTest.java
│ │ │ │ │ │ ├── LongTest2.java
│ │ │ │ │ │ ├── LongTest2_obj.java
│ │ │ │ │ │ └── LongTest_browserCompatible.java
│ │ │ │ │ ├── bug/
│ │ │ │ │ │ ├── Bug1.java
│ │ │ │ │ │ ├── Bug11.java
│ │ │ │ │ │ ├── Bug13.java
│ │ │ │ │ │ ├── Bug14.java
│ │ │ │ │ │ ├── Bug2.java
│ │ │ │ │ │ ├── Bug_10.java
│ │ │ │ │ │ ├── Bug_101_for_rongganlin.java
│ │ │ │ │ │ ├── Bug_101_for_rongganlin_case2.java
│ │ │ │ │ │ ├── Bug_101_for_rongganlin_case3.java
│ │ │ │ │ │ ├── Bug_102_for_rongganlin.java
│ │ │ │ │ │ ├── Bug_105_for_SpitFire.java
│ │ │ │ │ │ ├── Bug_127_for_qiuyan81.java
│ │ │ │ │ │ ├── Bug_376_for_iso8601.java
│ │ │ │ │ │ ├── Bug_6.java
│ │ │ │ │ │ ├── Bug_7.java
│ │ │ │ │ │ ├── Bug_8.java
│ │ │ │ │ │ ├── Bug_KimShen.java
│ │ │ │ │ │ ├── Bug_for_42283905.java
│ │ │ │ │ │ ├── Bug_for_42283905_1.java
│ │ │ │ │ │ ├── Bug_for_80108116.java
│ │ │ │ │ │ ├── Bug_for_ArrayMember.java
│ │ │ │ │ │ ├── Bug_for_BlankRain_Issue_502.java
│ │ │ │ │ │ ├── Bug_for_DiffType.java
│ │ │ │ │ │ ├── Bug_for_Double2Tag.java
│ │ │ │ │ │ ├── Bug_for_Exception.java
│ │ │ │ │ │ ├── Bug_for_Issue_519.java
│ │ │ │ │ │ ├── Bug_for_Issue_534.java
│ │ │ │ │ │ ├── Bug_for_Issue_535.java
│ │ │ │ │ │ ├── Bug_for_Issue_603.java
│ │ │ │ │ │ ├── Bug_for_JSONObject.java
│ │ │ │ │ │ ├── Bug_for_Jay.java
│ │ │ │ │ │ ├── Bug_for_Jay_1.java
│ │ │ │ │ │ ├── Bug_for_JeryZeng.java
│ │ │ │ │ │ ├── Bug_for_Johnny.java
│ │ │ │ │ │ ├── Bug_for_Next.java
│ │ │ │ │ │ ├── Bug_for_NonStringKeyMap.java
│ │ │ │ │ │ ├── Bug_for_O_I_See_you.java
│ │ │ │ │ │ ├── Bug_for_SpitFire.java
│ │ │ │ │ │ ├── Bug_for_SpitFire_2.java
│ │ │ │ │ │ ├── Bug_for_SpitFire_3.java
│ │ │ │ │ │ ├── Bug_for_SpitFire_4.java
│ │ │ │ │ │ ├── Bug_for_SpitFire_5.java
│ │ │ │ │ │ ├── Bug_for_SpitFire_6.java
│ │ │ │ │ │ ├── Bug_for_agapple.java
│ │ │ │ │ │ ├── Bug_for_agapple_2.java
│ │ │ │ │ │ ├── Bug_for_akvadrako.java
│ │ │ │ │ │ ├── Bug_for_alibank.java
│ │ │ │ │ │ ├── Bug_for_apollo0317.java
│ │ │ │ │ │ ├── Bug_for_array.java
│ │ │ │ │ │ ├── Bug_for_ascii_0_31.java
│ │ │ │ │ │ ├── Bug_for_bbl.java
│ │ │ │ │ │ ├── Bug_for_booleanField.java
│ │ │ │ │ │ ├── Bug_for_builder.java
│ │ │ │ │ │ ├── Bug_for_cduym.java
│ │ │ │ │ │ ├── Bug_for_chengchao.java
│ │ │ │ │ │ ├── Bug_for_chengchao_1.java
│ │ │ │ │ │ ├── Bug_for_chengyi.java
│ │ │ │ │ │ ├── Bug_for_cnhans.java
│ │ │ │ │ │ ├── Bug_for_dargoner.java
│ │ │ │ │ │ ├── Bug_for_divde_zero.java
│ │ │ │ │ │ ├── Bug_for_dongqi.java
│ │ │ │ │ │ ├── Bug_for_dragoon.java
│ │ │ │ │ │ ├── Bug_for_dragoon26.java
│ │ │ │ │ │ ├── Bug_for_dragoon26_1.java
│ │ │ │ │ │ ├── Bug_for_dubbo.java
│ │ │ │ │ │ ├── Bug_for_dubbo1.java
│ │ │ │ │ │ ├── Bug_for_dubbo2.java
│ │ │ │ │ │ ├── Bug_for_dubbo3.java
│ │ │ │ │ │ ├── Bug_for_dubbo_long.java
│ │ │ │ │ │ ├── Bug_for_field.java
│ │ │ │ │ │ ├── Bug_for_franklee77.java
│ │ │ │ │ │ ├── Bug_for_fushou.java
│ │ │ │ │ │ ├── Bug_for_generic.java
│ │ │ │ │ │ ├── Bug_for_generic_1.java
│ │ │ │ │ │ ├── Bug_for_generic_huansi.java
│ │ │ │ │ │ ├── Bug_for_gongwenhua.java
│ │ │ │ │ │ ├── Bug_for_hifor_issue_511.java
│ │ │ │ │ │ ├── Bug_for_hmy8.java
│ │ │ │ │ │ ├── Bug_for_huangchun.java
│ │ │ │ │ │ ├── Bug_for_huling.java
│ │ │ │ │ │ ├── Bug_for_issue_184.java
│ │ │ │ │ │ ├── Bug_for_issue_229.java
│ │ │ │ │ │ ├── Bug_for_issue_232.java
│ │ │ │ │ │ ├── Bug_for_issue_236.java
│ │ │ │ │ │ ├── Bug_for_issue_242.java
│ │ │ │ │ │ ├── Bug_for_issue_252.java
│ │ │ │ │ │ ├── Bug_for_issue_253.java
│ │ │ │ │ │ ├── Bug_for_issue_256.java
│ │ │ │ │ │ ├── Bug_for_issue_262.java
│ │ │ │ │ │ ├── Bug_for_issue_265.java
│ │ │ │ │ │ ├── Bug_for_issue_268.java
│ │ │ │ │ │ ├── Bug_for_issue_269.java
│ │ │ │ │ │ ├── Bug_for_issue_273.java
│ │ │ │ │ │ ├── Bug_for_issue_278.java
│ │ │ │ │ │ ├── Bug_for_issue_280.java
│ │ │ │ │ │ ├── Bug_for_issue_283.java
│ │ │ │ │ │ ├── Bug_for_issue_285.java
│ │ │ │ │ │ ├── Bug_for_issue_291.java
│ │ │ │ │ │ ├── Bug_for_issue_296.java
│ │ │ │ │ │ ├── Bug_for_issue_297.java
│ │ │ │ │ │ ├── Bug_for_issue_304.java
│ │ │ │ │ │ ├── Bug_for_issue_316.java
│ │ │ │ │ │ ├── Bug_for_issue_318.java
│ │ │ │ │ │ ├── Bug_for_issue_320.java
│ │ │ │ │ │ ├── Bug_for_issue_330.java
│ │ │ │ │ │ ├── Bug_for_issue_331.java
│ │ │ │ │ │ ├── Bug_for_issue_336.java
│ │ │ │ │ │ ├── Bug_for_issue_349.java
│ │ │ │ │ │ ├── Bug_for_issue_352.java
│ │ │ │ │ │ ├── Bug_for_issue_364.java
│ │ │ │ │ │ ├── Bug_for_issue_372.java
│ │ │ │ │ │ ├── Bug_for_issue_383.java
│ │ │ │ │ │ ├── Bug_for_issue_389.java
│ │ │ │ │ │ ├── Bug_for_issue_414.java
│ │ │ │ │ │ ├── Bug_for_issue_415.java
│ │ │ │ │ │ ├── Bug_for_issue_423.java
│ │ │ │ │ │ ├── Bug_for_issue_426.java
│ │ │ │ │ │ ├── Bug_for_issue_427.java
│ │ │ │ │ │ ├── Bug_for_issue_430.java
│ │ │ │ │ │ ├── Bug_for_issue_434.java
│ │ │ │ │ │ ├── Bug_for_issue_435.java
│ │ │ │ │ │ ├── Bug_for_issue_439.java
│ │ │ │ │ │ ├── Bug_for_issue_446.java
│ │ │ │ │ │ ├── Bug_for_issue_447.java
│ │ │ │ │ │ ├── Bug_for_issue_448.java
│ │ │ │ │ │ ├── Bug_for_issue_449.java
│ │ │ │ │ │ ├── Bug_for_issue_457.java
│ │ │ │ │ │ ├── Bug_for_issue_462.java
│ │ │ │ │ │ ├── Bug_for_issue_465.java
│ │ │ │ │ │ ├── Bug_for_issue_469.java
│ │ │ │ │ │ ├── Bug_for_issue_470.java
│ │ │ │ │ │ ├── Bug_for_issue_479.java
│ │ │ │ │ │ ├── Bug_for_issue_489.java
│ │ │ │ │ │ ├── Bug_for_issue_491.java
│ │ │ │ │ │ ├── Bug_for_issue_492.java
│ │ │ │ │ │ ├── Bug_for_issue_537.java
│ │ │ │ │ │ ├── Bug_for_issue_545.java
│ │ │ │ │ │ ├── Bug_for_issue_555.java
│ │ │ │ │ │ ├── Bug_for_issue_555_setter.java
│ │ │ │ │ │ ├── Bug_for_issue_555_setter2.java
│ │ │ │ │ │ ├── Bug_for_issue_569.java
│ │ │ │ │ │ ├── Bug_for_issue_569_1.java
│ │ │ │ │ │ ├── Bug_for_issue_572.java
│ │ │ │ │ │ ├── Bug_for_issue_572_field.java
│ │ │ │ │ │ ├── Bug_for_issue_572_field2.java
│ │ │ │ │ │ ├── Bug_for_issue_572_private.java
│ │ │ │ │ │ ├── Bug_for_issue_630.java
│ │ │ │ │ │ ├── Bug_for_issue_676.java
│ │ │ │ │ │ ├── Bug_for_issue_694.java
│ │ │ │ │ │ ├── Bug_for_issue_729.java
│ │ │ │ │ │ ├── Bug_for_issue_807.java
│ │ │ │ │ │ ├── Bug_for_issue_937.java
│ │ │ │ │ │ ├── Bug_for_jared1.java
│ │ │ │ │ │ ├── Bug_for_javaeye_litterJava.java
│ │ │ │ │ │ ├── Bug_for_jial10802.java
│ │ │ │ │ │ ├── Bug_for_jiangwei.java
│ │ │ │ │ │ ├── Bug_for_jiangwei1.java
│ │ │ │ │ │ ├── Bug_for_jiangwei2.java
│ │ │ │ │ │ ├── Bug_for_jinghui70.java
│ │ │ │ │ │ ├── Bug_for_jinguwei.java
│ │ │ │ │ │ ├── Bug_for_json_array.java
│ │ │ │ │ │ ├── Bug_for_jsonobj_null.java
│ │ │ │ │ │ ├── Bug_for_juewu.java
│ │ │ │ │ │ ├── Bug_for_km.java
│ │ │ │ │ │ ├── Bug_for_lenolix.java
│ │ │ │ │ │ ├── Bug_for_lenolix_1.java
│ │ │ │ │ │ ├── Bug_for_lenolix_10.java
│ │ │ │ │ │ ├── Bug_for_lenolix_11.java
│ │ │ │ │ │ ├── Bug_for_lenolix_2.java
│ │ │ │ │ │ ├── Bug_for_lenolix_3.java
│ │ │ │ │ │ ├── Bug_for_lenolix_4.java
│ │ │ │ │ │ ├── Bug_for_lenolix_5.java
│ │ │ │ │ │ ├── Bug_for_lenolix_6.java
│ │ │ │ │ │ ├── Bug_for_lenolix_7.java
│ │ │ │ │ │ ├── Bug_for_lenolix_8.java
│ │ │ │ │ │ ├── Bug_for_lenolix_9.java
│ │ │ │ │ │ ├── Bug_for_leupom.java
│ │ │ │ │ │ ├── Bug_for_leupom_2.java
│ │ │ │ │ │ ├── Bug_for_leupom_3.java
│ │ │ │ │ │ ├── Bug_for_liqing.java
│ │ │ │ │ │ ├── Bug_for_liuwanzhen_ren.java
│ │ │ │ │ │ ├── Bug_for_liuying.java
│ │ │ │ │ │ ├── Bug_for_long_whitespace.java
│ │ │ │ │ │ ├── Bug_for_ludong.java
│ │ │ │ │ │ ├── Bug_for_luogongwu.java
│ │ │ │ │ │ ├── Bug_for_maiksagill.java
│ │ │ │ │ │ ├── Bug_for_melin.java
│ │ │ │ │ │ ├── Bug_for_primitive_boolean.java
│ │ │ │ │ │ ├── Bug_for_primitive_byte.java
│ │ │ │ │ │ ├── Bug_for_primitive_double.java
│ │ │ │ │ │ ├── Bug_for_primitive_float.java
│ │ │ │ │ │ ├── Bug_for_primitive_int.java
│ │ │ │ │ │ ├── Bug_for_primitive_long.java
│ │ │ │ │ │ ├── Bug_for_primitive_short.java
│ │ │ │ │ │ ├── Bug_for_qianbi.java
│ │ │ │ │ │ ├── Bug_for_qqdwll2012.java
│ │ │ │ │ │ ├── Bug_for_rd.java
│ │ │ │ │ │ ├── Bug_for_rendong.java
│ │ │ │ │ │ ├── Bug_for_ruiqi.java
│ │ │ │ │ │ ├── Bug_for_sankun.java
│ │ │ │ │ │ ├── Bug_for_sanxiao.java
│ │ │ │ │ │ ├── Bug_for_set.java
│ │ │ │ │ │ ├── Bug_for_shortArray.java
│ │ │ │ │ │ ├── Bug_for_smoothrat.java
│ │ │ │ │ │ ├── Bug_for_smoothrat2.java
│ │ │ │ │ │ ├── Bug_for_smoothrat3.java
│ │ │ │ │ │ ├── Bug_for_smoothrat4.java
│ │ │ │ │ │ ├── Bug_for_smoothrat5.java
│ │ │ │ │ │ ├── Bug_for_smoothrat6.java
│ │ │ │ │ │ ├── Bug_for_smoothrat7.java
│ │ │ │ │ │ ├── Bug_for_smoothrat8.java
│ │ │ │ │ │ ├── Bug_for_smoothrat9.java
│ │ │ │ │ │ ├── Bug_for_stv_liu.java
│ │ │ │ │ │ ├── Bug_for_sunai.java
│ │ │ │ │ │ ├── Bug_for_taolei0628.java
│ │ │ │ │ │ ├── Bug_for_typeReference.java
│ │ │ │ │ │ ├── Bug_for_uin57.java
│ │ │ │ │ │ ├── Bug_for_vikingschow.java
│ │ │ │ │ │ ├── Bug_for_wangran.java
│ │ │ │ │ │ ├── Bug_for_wangran1.java
│ │ │ │ │ │ ├── Bug_for_wangran2.java
│ │ │ │ │ │ ├── Bug_for_wsky.java
│ │ │ │ │ │ ├── Bug_for_wtusmchen.java
│ │ │ │ │ │ ├── Bug_for_wuyexiong.java
│ │ │ │ │ │ ├── Bug_for_wuzhengmao.java
│ │ │ │ │ │ ├── Bug_for_xiayucai2012.java
│ │ │ │ │ │ ├── Bug_for_xiedun.java
│ │ │ │ │ │ ├── Bug_for_xujin.java
│ │ │ │ │ │ ├── Bug_for_xujin2.java
│ │ │ │ │ │ ├── Bug_for_xujin_int.java
│ │ │ │ │ │ ├── Bug_for_xuzebin.java
│ │ │ │ │ │ ├── Bug_for_yangqi.java
│ │ │ │ │ │ ├── Bug_for_yangzhou.java
│ │ │ │ │ │ ├── Bug_for_yannywang.java
│ │ │ │ │ │ ├── Bug_for_yanpei.java
│ │ │ │ │ │ ├── Bug_for_yanpei2.java
│ │ │ │ │ │ ├── Bug_for_yanpei3.java
│ │ │ │ │ │ ├── Bug_for_yanpei4.java
│ │ │ │ │ │ ├── Bug_for_yaoming.java
│ │ │ │ │ │ ├── Bug_for_yaoming_1.java
│ │ │ │ │ │ ├── Bug_for_yuanmomo_Issue_504.java
│ │ │ │ │ │ ├── Bug_for_yuanmomo_Issue_505_1.java
│ │ │ │ │ │ ├── Bug_for_yunban.java
│ │ │ │ │ │ ├── Bug_for_zengjie.java
│ │ │ │ │ │ ├── Bug_for_zhaoyao.java
│ │ │ │ │ │ ├── Bug_for_zhongyin.java
│ │ │ │ │ │ ├── Bug_for_zhuangzaowen.java
│ │ │ │ │ │ ├── Bug_for_zhuel.java
│ │ │ │ │ │ ├── CollectionEmptyMapTest.java
│ │ │ │ │ │ ├── FastJsonSerializeIterableTest.java
│ │ │ │ │ │ ├── Issue1005.java
│ │ │ │ │ │ ├── Issue101.java
│ │ │ │ │ │ ├── Issue1013.java
│ │ │ │ │ │ ├── Issue1017.java
│ │ │ │ │ │ ├── Issue101_NoneASM.java
│ │ │ │ │ │ ├── Issue101_field.java
│ │ │ │ │ │ ├── Issue101_field_NoneASM.java
│ │ │ │ │ │ ├── Issue1020.java
│ │ │ │ │ │ ├── Issue1023.java
│ │ │ │ │ │ ├── Issue1030.java
│ │ │ │ │ │ ├── Issue1036.java
│ │ │ │ │ │ ├── Issue1063.java
│ │ │ │ │ │ ├── Issue1063_date.java
│ │ │ │ │ │ ├── Issue1074.java
│ │ │ │ │ │ ├── Issue1075.java
│ │ │ │ │ │ ├── Issue109.java
│ │ │ │ │ │ ├── Issue115.java
│ │ │ │ │ │ ├── Issue117.java
│ │ │ │ │ │ ├── Issue118.java
│ │ │ │ │ │ ├── Issue119.java
│ │ │ │ │ │ ├── Issue124.java
│ │ │ │ │ │ ├── Issue125.java
│ │ │ │ │ │ ├── Issue126.java
│ │ │ │ │ │ ├── Issue127.java
│ │ │ │ │ │ ├── Issue1296.java
│ │ │ │ │ │ ├── Issue141.java
│ │ │ │ │ │ ├── Issue143.java
│ │ │ │ │ │ ├── Issue146.java
│ │ │ │ │ │ ├── Issue153.java
│ │ │ │ │ │ ├── Issue157.java
│ │ │ │ │ │ ├── Issue166.java
│ │ │ │ │ │ ├── Issue169.java
│ │ │ │ │ │ ├── Issue171.java
│ │ │ │ │ │ ├── Issue176.java
│ │ │ │ │ │ ├── Issue177.java
│ │ │ │ │ │ ├── Issue179.java
│ │ │ │ │ │ ├── Issue183.java
│ │ │ │ │ │ ├── Issue184.java
│ │ │ │ │ │ ├── Issue190.java
│ │ │ │ │ │ ├── Issue199.java
│ │ │ │ │ │ ├── Issue204.java
│ │ │ │ │ │ ├── Issue208.java
│ │ │ │ │ │ ├── Issue215.java
│ │ │ │ │ │ ├── Issue215_boolean_array.java
│ │ │ │ │ │ ├── Issue215_char_array.java
│ │ │ │ │ │ ├── Issue215_double_array.java
│ │ │ │ │ │ ├── Issue215_float_array.java
│ │ │ │ │ │ ├── Issue215_int_array.java
│ │ │ │ │ │ ├── Issue215_long_array.java
│ │ │ │ │ │ ├── Issue215_short_array.java
│ │ │ │ │ │ ├── Issue220.java
│ │ │ │ │ │ ├── Issue243.java
│ │ │ │ │ │ ├── Issue248_orderedField.java
│ │ │ │ │ │ ├── Issue274.java
│ │ │ │ │ │ ├── Issue363.java
│ │ │ │ │ │ ├── Issue408.java
│ │ │ │ │ │ ├── Issue569.java
│ │ │ │ │ │ ├── Issue569_1.java
│ │ │ │ │ │ ├── Issue585.java
│ │ │ │ │ │ ├── Issue62.java
│ │ │ │ │ │ ├── Issue64.java
│ │ │ │ │ │ ├── Issue688.java
│ │ │ │ │ │ ├── Issue689.java
│ │ │ │ │ │ ├── Issue69.java
│ │ │ │ │ │ ├── Issue72.java
│ │ │ │ │ │ ├── Issue74.java
│ │ │ │ │ │ ├── Issue743.java
│ │ │ │ │ │ ├── Issue744.java
│ │ │ │ │ │ ├── Issue744_1.java
│ │ │ │ │ │ ├── Issue763.java
│ │ │ │ │ │ ├── Issue771.java
│ │ │ │ │ │ ├── Issue776.java
│ │ │ │ │ │ ├── Issue779.java
│ │ │ │ │ │ ├── Issue780.java
│ │ │ │ │ │ ├── Issue784.java
│ │ │ │ │ │ ├── Issue79.java
│ │ │ │ │ │ ├── Issue793.java
│ │ │ │ │ │ ├── Issue798.java
│ │ │ │ │ │ ├── Issue798_1.java
│ │ │ │ │ │ ├── Issue799.java
│ │ │ │ │ │ ├── Issue801.java
│ │ │ │ │ │ ├── Issue804.java
│ │ │ │ │ │ ├── Issue821.java
│ │ │ │ │ │ ├── Issue859.java
│ │ │ │ │ │ ├── Issue868.java
│ │ │ │ │ │ ├── Issue869.java
│ │ │ │ │ │ ├── Issue869_1.java
│ │ │ │ │ │ ├── Issue87.java
│ │ │ │ │ │ ├── Issue878.java
│ │ │ │ │ │ ├── Issue87_hashset.java
│ │ │ │ │ │ ├── Issue87_treeset.java
│ │ │ │ │ │ ├── Issue887.java
│ │ │ │ │ │ ├── Issue89.java
│ │ │ │ │ │ ├── Issue894.java
│ │ │ │ │ │ ├── Issue900.java
│ │ │ │ │ │ ├── Issue900_1.java
│ │ │ │ │ │ ├── Issue912.java
│ │ │ │ │ │ ├── Issue922.java
│ │ │ │ │ │ ├── Issue923.java
│ │ │ │ │ │ ├── Issue939.java
│ │ │ │ │ │ ├── Issue94.java
│ │ │ │ │ │ ├── Issue942.java
│ │ │ │ │ │ ├── Issue943.java
│ │ │ │ │ │ ├── Issue944.java
│ │ │ │ │ │ ├── Issue952.java
│ │ │ │ │ │ ├── Issue955.java
│ │ │ │ │ │ ├── Issue96.java
│ │ │ │ │ │ ├── Issue963.java
│ │ │ │ │ │ ├── Issue975.java
│ │ │ │ │ │ ├── Issue978.java
│ │ │ │ │ │ ├── Issue983.java
│ │ │ │ │ │ ├── Issue983_1.java
│ │ │ │ │ │ ├── Issue987.java
│ │ │ │ │ │ ├── Issue989.java
│ │ │ │ │ │ ├── Issue993.java
│ │ │ │ │ │ ├── Issue995.java
│ │ │ │ │ │ ├── Issue997.java
│ │ │ │ │ │ ├── Issue998.java
│ │ │ │ │ │ ├── Issue998_private.java
│ │ │ │ │ │ ├── Issue_611.java
│ │ │ │ │ │ ├── Issue_717.java
│ │ │ │ │ │ ├── Issue_748.java
│ │ │ │ │ │ ├── Issue_for_huangfeng.java
│ │ │ │ │ │ ├── Issue_for_jiongxiong.java
│ │ │ │ │ │ ├── Issue_for_oschina_3087749_2215732.java
│ │ │ │ │ │ ├── Issue_for_zuojing.java
│ │ │ │ │ │ ├── JSONTest.java
│ │ │ │ │ │ ├── KeyBug_for_zhongl.java
│ │ │ │ │ │ ├── Mogujie_01.java
│ │ │ │ │ │ ├── Mogujie_02.java
│ │ │ │ │ │ ├── SerDeserTest.java
│ │ │ │ │ │ ├── StackTraceElementTest.java
│ │ │ │ │ │ ├── StackTraceElementTest2.java
│ │ │ │ │ │ ├── TestDouble.java
│ │ │ │ │ │ ├── TestJSONMap.java
│ │ │ │ │ │ ├── WuqiTest.java
│ │ │ │ │ │ ├── bug201806/
│ │ │ │ │ │ │ └── Bug_for_weiqiang.java
│ │ │ │ │ │ ├── bug201810/
│ │ │ │ │ │ │ └── LatLngTest.java
│ │ │ │ │ │ ├── bug2019/
│ │ │ │ │ │ │ └── Bug20190729_01.java
│ │ │ │ │ │ ├── bug2020/
│ │ │ │ │ │ │ ├── Bug_for_emptyList.java
│ │ │ │ │ │ │ └── Bug_for_money.java
│ │ │ │ │ │ ├── bug_for_caoyaojun1988.java
│ │ │ │ │ │ └── bug_for_pengsong0302.java
│ │ │ │ │ ├── builder/
│ │ │ │ │ │ ├── BuilderTest0.java
│ │ │ │ │ │ ├── BuilderTest0_private.java
│ │ │ │ │ │ ├── BuilderTest1.java
│ │ │ │ │ │ ├── BuilderTest1_private.java
│ │ │ │ │ │ ├── BuilderTest2.java
│ │ │ │ │ │ ├── BuilderTest2_private.java
│ │ │ │ │ │ ├── BuilderTest3.java
│ │ │ │ │ │ ├── BuilderTest3_private.java
│ │ │ │ │ │ ├── BuilderTest_error.java
│ │ │ │ │ │ └── BuilderTest_error_private.java
│ │ │ │ │ ├── cglib/
│ │ │ │ │ │ └── TestCglib.java
│ │ │ │ │ ├── comparing_json_modules/
│ │ │ │ │ │ ├── ComplexAndDecimalTest.java
│ │ │ │ │ │ ├── Floating_point_Test.java
│ │ │ │ │ │ ├── Integral_types_Test.java
│ │ │ │ │ │ └── Invalid_Test.java
│ │ │ │ │ ├── compatible/
│ │ │ │ │ │ ├── ThreadLocalCacheTest.java
│ │ │ │ │ │ ├── TypeUtilsComputeGettersTest.java
│ │ │ │ │ │ └── jsonlib/
│ │ │ │ │ │ ├── CompatibleTest0.java
│ │ │ │ │ │ └── CompatibleTest_noasm.java
│ │ │ │ │ ├── date/
│ │ │ │ │ │ ├── CalendarTest.java
│ │ │ │ │ │ ├── DateFieldFormatTest.java
│ │ │ │ │ │ ├── DateFieldTest.java
│ │ │ │ │ │ ├── DateFieldTest10.java
│ │ │ │ │ │ ├── DateFieldTest11_reader.java
│ │ │ │ │ │ ├── DateFieldTest12_t.java
│ │ │ │ │ │ ├── DateFieldTest2.java
│ │ │ │ │ │ ├── DateFieldTest3.java
│ │ │ │ │ │ ├── DateFieldTest4.java
│ │ │ │ │ │ ├── DateFieldTest5.java
│ │ │ │ │ │ ├── DateFieldTest6.java
│ │ │ │ │ │ ├── DateFieldTest7.java
│ │ │ │ │ │ ├── DateFieldTest8.java
│ │ │ │ │ │ ├── DateFieldTest9.java
│ │ │ │ │ │ ├── DateFormatPriorityTest.java
│ │ │ │ │ │ ├── DateNewTest.java
│ │ │ │ │ │ ├── DateTest.java
│ │ │ │ │ │ ├── DateTest1.java
│ │ │ │ │ │ ├── DateTest2.java
│ │ │ │ │ │ ├── DateTest_dotnet.java
│ │ │ │ │ │ ├── DateTest_dotnet_1.java
│ │ │ │ │ │ ├── DateTest_dotnet_2.java
│ │ │ │ │ │ ├── DateTest_dotnet_3.java
│ │ │ │ │ │ ├── DateTest_dotnet_4.java
│ │ │ │ │ │ ├── DateTest_dotnet_5.java
│ │ │ │ │ │ ├── DateTest_error.java
│ │ │ │ │ │ ├── DateTest_tz.java
│ │ │ │ │ │ └── XMLGregorianCalendarTest.java
│ │ │ │ │ ├── dubbo/
│ │ │ │ │ │ └── TestForDubbo.java
│ │ │ │ │ ├── emoji/
│ │ │ │ │ │ └── EmojiTest0.java
│ │ │ │ │ ├── feature/
│ │ │ │ │ │ ├── DisableFieldSmartMatchTest.java
│ │ │ │ │ │ ├── DisableFieldSmartMatchTest_2.java
│ │ │ │ │ │ ├── FeatureTest_8.java
│ │ │ │ │ │ ├── FeaturesTest.java
│ │ │ │ │ │ ├── FeaturesTest2.java
│ │ │ │ │ │ ├── FeaturesTest3.java
│ │ │ │ │ │ ├── FeaturesTest4.java
│ │ │ │ │ │ ├── FeaturesTest5.java
│ │ │ │ │ │ ├── FeaturesTest5_1.java
│ │ │ │ │ │ ├── FeaturesTest6.java
│ │ │ │ │ │ ├── FeaturesTest7.java
│ │ │ │ │ │ ├── IgnoreErrorGetterTest.java
│ │ │ │ │ │ ├── IgnoreErrorGetterTest_field.java
│ │ │ │ │ │ ├── IgnoreErrorGetterTest_private.java
│ │ │ │ │ │ ├── InitStringFieldAsEmptyTest.java
│ │ │ │ │ │ ├── WriteNullStringAsEmptyTest.java
│ │ │ │ │ │ └── WriteNullStringAsEmptyTest2.java
│ │ │ │ │ ├── fullSer/
│ │ │ │ │ │ ├── EmtpyLinkedHashMapTest.java
│ │ │ │ │ │ ├── LongTest.java
│ │ │ │ │ │ ├── ToJavaObjectTest.java
│ │ │ │ │ │ ├── ToJavaObjectTest2.java
│ │ │ │ │ │ ├── get_set_Test.java
│ │ │ │ │ │ ├── getfTest.java
│ │ │ │ │ │ ├── getfTest_2.java
│ │ │ │ │ │ └── is_set_test_2.java
│ │ │ │ │ ├── geo/
│ │ │ │ │ │ ├── FeatureCollectionTest.java
│ │ │ │ │ │ ├── FeatureTest.java
│ │ │ │ │ │ ├── GeometryCollectionTest.java
│ │ │ │ │ │ ├── LineStringTest.java
│ │ │ │ │ │ ├── MultiLineStringTest.java
│ │ │ │ │ │ ├── MultiPointTest.java
│ │ │ │ │ │ ├── MultiPolygonTest.java
│ │ │ │ │ │ ├── PointTest.java
│ │ │ │ │ │ └── PolygonTest.java
│ │ │ │ │ ├── guava/
│ │ │ │ │ │ ├── ArrayListMultimapTest.java
│ │ │ │ │ │ ├── HashMultimapTest.java
│ │ │ │ │ │ ├── ImmutableMapTest.java
│ │ │ │ │ │ ├── LinkedListMultimapTest.java
│ │ │ │ │ │ └── MultiMapTes.java
│ │ │ │ │ ├── issue_1000/
│ │ │ │ │ │ ├── Issue1066.java
│ │ │ │ │ │ ├── Issue1079.java
│ │ │ │ │ │ ├── Issue1080.java
│ │ │ │ │ │ ├── Issue1082.java
│ │ │ │ │ │ ├── Issue1083.java
│ │ │ │ │ │ ├── Issue1085.java
│ │ │ │ │ │ ├── Issue1086.java
│ │ │ │ │ │ ├── Issue1089.java
│ │ │ │ │ │ ├── Issue1089_private.java
│ │ │ │ │ │ └── Issue1095.java
│ │ │ │ │ ├── issue_1100/
│ │ │ │ │ │ ├── Issue1109.java
│ │ │ │ │ │ ├── Issue1112.java
│ │ │ │ │ │ ├── Issue1120.java
│ │ │ │ │ │ ├── Issue1121.java
│ │ │ │ │ │ ├── Issue1134.java
│ │ │ │ │ │ ├── Issue1138.java
│ │ │ │ │ │ ├── Issue1140.java
│ │ │ │ │ │ ├── Issue1144.java
│ │ │ │ │ │ ├── Issue1146.java
│ │ │ │ │ │ ├── Issue1150.java
│ │ │ │ │ │ ├── Issue1151.java
│ │ │ │ │ │ ├── Issue1152.java
│ │ │ │ │ │ ├── Issue1153.java
│ │ │ │ │ │ ├── Issue1165.java
│ │ │ │ │ │ ├── Issue1177.java
│ │ │ │ │ │ ├── Issue1177_1.java
│ │ │ │ │ │ ├── Issue1177_2.java
│ │ │ │ │ │ ├── Issue1177_3.java
│ │ │ │ │ │ ├── Issue1177_4.java
│ │ │ │ │ │ ├── Issue1178.java
│ │ │ │ │ │ ├── Issue1187.java
│ │ │ │ │ │ ├── Issue1188.java
│ │ │ │ │ │ ├── Issue1189.java
│ │ │ │ │ │ └── Issue969.java
│ │ │ │ │ ├── issue_1200/
│ │ │ │ │ │ ├── Issue1202.java
│ │ │ │ │ │ ├── Issue1203.java
│ │ │ │ │ │ ├── Issue1205.java
│ │ │ │ │ │ ├── Issue1222.java
│ │ │ │ │ │ ├── Issue1222_1.java
│ │ │ │ │ │ ├── Issue1225.java
│ │ │ │ │ │ ├── Issue1226.java
│ │ │ │ │ │ ├── Issue1227.java
│ │ │ │ │ │ ├── Issue1229.java
│ │ │ │ │ │ ├── Issue1231.java
│ │ │ │ │ │ ├── Issue1233.java
│ │ │ │ │ │ ├── Issue1235.java
│ │ │ │ │ │ ├── Issue1235_noasm.java
│ │ │ │ │ │ ├── Issue1240.java
│ │ │ │ │ │ ├── Issue1246.java
│ │ │ │ │ │ ├── Issue1254.java
│ │ │ │ │ │ ├── Issue1256.java
│ │ │ │ │ │ ├── Issue1262.java
│ │ │ │ │ │ ├── Issue1265.java
│ │ │ │ │ │ ├── Issue1267.java
│ │ │ │ │ │ ├── Issue1271.java
│ │ │ │ │ │ ├── Issue1272.java
│ │ │ │ │ │ ├── Issue1272_IgnoreError.java
│ │ │ │ │ │ ├── Issue1274.java
│ │ │ │ │ │ ├── Issue1276.java
│ │ │ │ │ │ ├── Issue1278.java
│ │ │ │ │ │ ├── Issue1281.java
│ │ │ │ │ │ ├── Issue1293.java
│ │ │ │ │ │ ├── Issue1298.java
│ │ │ │ │ │ └── Issue1299.java
│ │ │ │ │ ├── issue_1300/
│ │ │ │ │ │ ├── Issue1300.java
│ │ │ │ │ │ ├── Issue1303.java
│ │ │ │ │ │ ├── Issue1306.java
│ │ │ │ │ │ ├── Issue1307.java
│ │ │ │ │ │ ├── Issue1310.java
│ │ │ │ │ │ ├── Issue1310_noasm.java
│ │ │ │ │ │ ├── Issue1319.java
│ │ │ │ │ │ ├── Issue1320.java
│ │ │ │ │ │ ├── Issue1330.java
│ │ │ │ │ │ ├── Issue1330_boolean.java
│ │ │ │ │ │ ├── Issue1330_byte.java
│ │ │ │ │ │ ├── Issue1330_decimal.java
│ │ │ │ │ │ ├── Issue1330_double.java
│ │ │ │ │ │ ├── Issue1330_float.java
│ │ │ │ │ │ ├── Issue1330_long.java
│ │ │ │ │ │ ├── Issue1330_short.java
│ │ │ │ │ │ ├── Issue1335.java
│ │ │ │ │ │ ├── Issue1341.java
│ │ │ │ │ │ ├── Issue1344.java
│ │ │ │ │ │ ├── Issue1357.java
│ │ │ │ │ │ ├── Issue1362.java
│ │ │ │ │ │ ├── Issue1363.java
│ │ │ │ │ │ ├── Issue1367.java
│ │ │ │ │ │ ├── Issue1367_jaxrs.java
│ │ │ │ │ │ ├── Issue1368.java
│ │ │ │ │ │ ├── Issue1369.java
│ │ │ │ │ │ ├── Issue1370.java
│ │ │ │ │ │ ├── Issue1371.java
│ │ │ │ │ │ ├── Issue1375.java
│ │ │ │ │ │ ├── Issue1392.java
│ │ │ │ │ │ ├── Issue1399.java
│ │ │ │ │ │ └── Issue_for_zuojian.java
│ │ │ │ │ ├── issue_1400/
│ │ │ │ │ │ ├── Issue1400.java
│ │ │ │ │ │ ├── Issue1405.java
│ │ │ │ │ │ ├── Issue1422.java
│ │ │ │ │ │ ├── Issue1423.java
│ │ │ │ │ │ ├── Issue1424.java
│ │ │ │ │ │ ├── Issue1425.java
│ │ │ │ │ │ ├── Issue1429.java
│ │ │ │ │ │ ├── Issue1443.java
│ │ │ │ │ │ ├── Issue1445.java
│ │ │ │ │ │ ├── Issue1449.java
│ │ │ │ │ │ ├── Issue1450.java
│ │ │ │ │ │ ├── Issue1458.java
│ │ │ │ │ │ ├── Issue1465.java
│ │ │ │ │ │ ├── Issue1472.java
│ │ │ │ │ │ ├── Issue1474.java
│ │ │ │ │ │ ├── Issue1478.java
│ │ │ │ │ │ ├── Issue1480.java
│ │ │ │ │ │ ├── Issue1482.java
│ │ │ │ │ │ ├── Issue1486.java
│ │ │ │ │ │ ├── Issue1487.java
│ │ │ │ │ │ ├── Issue1492.java
│ │ │ │ │ │ ├── Issue1493.java
│ │ │ │ │ │ ├── Issue1494.java
│ │ │ │ │ │ ├── Issue1496.java
│ │ │ │ │ │ ├── Issue1498.java
│ │ │ │ │ │ └── Issue_for_wuye.java
│ │ │ │ │ ├── issue_1500/
│ │ │ │ │ │ ├── Issue1500.java
│ │ │ │ │ │ ├── Issue1503.java
│ │ │ │ │ │ ├── Issue1510.java
│ │ │ │ │ │ ├── Issue1513.java
│ │ │ │ │ │ ├── Issue1524.java
│ │ │ │ │ │ ├── Issue1529.java
│ │ │ │ │ │ ├── Issue1548.java
│ │ │ │ │ │ ├── Issue1555.java
│ │ │ │ │ │ ├── Issue1556.java
│ │ │ │ │ │ ├── Issue1558.java
│ │ │ │ │ │ ├── Issue1565.java
│ │ │ │ │ │ ├── Issue1570.java
│ │ │ │ │ │ ├── Issue1570_private.java
│ │ │ │ │ │ ├── Issue1572.java
│ │ │ │ │ │ ├── Issue1576.java
│ │ │ │ │ │ ├── Issue1580.java
│ │ │ │ │ │ ├── Issue1580_private.java
│ │ │ │ │ │ ├── Issue1582.java
│ │ │ │ │ │ ├── Issue1583.java
│ │ │ │ │ │ ├── Issue1584.java
│ │ │ │ │ │ ├── Issue1588.java
│ │ │ │ │ │ └── StringSerializer.java
│ │ │ │ │ ├── issue_1600/
│ │ │ │ │ │ ├── Issue1603_field.java
│ │ │ │ │ │ ├── Issue1603_getter.java
│ │ │ │ │ │ ├── Issue1603_map.java
│ │ │ │ │ │ ├── Issue1603_map_getter.java
│ │ │ │ │ │ ├── Issue1611.java
│ │ │ │ │ │ ├── Issue1612.java
│ │ │ │ │ │ ├── Issue1627.java
│ │ │ │ │ │ ├── Issue1628.java
│ │ │ │ │ │ ├── Issue1633.java
│ │ │ │ │ │ ├── Issue1635.java
│ │ │ │ │ │ ├── Issue1636.java
│ │ │ │ │ │ ├── Issue1644.java
│ │ │ │ │ │ ├── Issue1645.java
│ │ │ │ │ │ ├── Issue1647.java
│ │ │ │ │ │ ├── Issue1649.java
│ │ │ │ │ │ ├── Issue1649_private.java
│ │ │ │ │ │ ├── Issue1653.java
│ │ │ │ │ │ ├── Issue1657.java
│ │ │ │ │ │ ├── Issue1660.java
│ │ │ │ │ │ ├── Issue1662.java
│ │ │ │ │ │ ├── Issue1662_1.java
│ │ │ │ │ │ ├── Issue1665.java
│ │ │ │ │ │ ├── Issue1679.java
│ │ │ │ │ │ ├── Issue1683.java
│ │ │ │ │ │ ├── Issue_for_gaorui.java
│ │ │ │ │ │ └── issue_1699/
│ │ │ │ │ │ ├── TestJson.java
│ │ │ │ │ │ ├── def/
│ │ │ │ │ │ │ ├── FeeTypeMEnum.java
│ │ │ │ │ │ │ ├── InnerTypeMEnum.java
│ │ │ │ │ │ │ ├── RatingDetailIsJoinMEnum.java
│ │ │ │ │ │ │ ├── RatingDetailStatusMEnum.java
│ │ │ │ │ │ │ └── RatingDetailTypeMEnum.java
│ │ │ │ │ │ └── obj/
│ │ │ │ │ │ └── RatingDetailBO.java
│ │ │ │ │ ├── issue_1700/
│ │ │ │ │ │ ├── Issue1701.java
│ │ │ │ │ │ ├── Issue1723.java
│ │ │ │ │ │ ├── Issue1725.java
│ │ │ │ │ │ ├── Issue1727.java
│ │ │ │ │ │ ├── Issue1733_jsonpath.java
│ │ │ │ │ │ ├── Issue1739.java
│ │ │ │ │ │ ├── Issue1761.java
│ │ │ │ │ │ ├── Issue1763.java
│ │ │ │ │ │ ├── Issue1764.java
│ │ │ │ │ │ ├── Issue1764_bean.java
│ │ │ │ │ │ ├── Issue1764_bean_biginteger.java
│ │ │ │ │ │ ├── Issue1764_bean_biginteger_field.java
│ │ │ │ │ │ ├── Issue1764_bean_biginteger_type.java
│ │ │ │ │ │ ├── Issue1766.java
│ │ │ │ │ │ ├── Issue1769.java
│ │ │ │ │ │ ├── Issue1772.java
│ │ │ │ │ │ ├── Issue1780_JSONObject.java
│ │ │ │ │ │ ├── Issue1780_Module.java
│ │ │ │ │ │ ├── Issue1785.java
│ │ │ │ │ │ └── issue1763_2/
│ │ │ │ │ │ ├── TestIssue1763_2.java
│ │ │ │ │ │ ├── TypeReferenceBug1763_2.java
│ │ │ │ │ │ └── bean/
│ │ │ │ │ │ ├── BaseResult.java
│ │ │ │ │ │ ├── CouponResult.java
│ │ │ │ │ │ └── PageResult.java
│ │ │ │ │ ├── issue_1800/
│ │ │ │ │ │ ├── Issue1821.java
│ │ │ │ │ │ ├── Issue1834.java
│ │ │ │ │ │ ├── Issue1856.java
│ │ │ │ │ │ ├── Issue1870.java
│ │ │ │ │ │ ├── Issue1871.java
│ │ │ │ │ │ ├── Issue1879.java
│ │ │ │ │ │ ├── Issue1892.java
│ │ │ │ │ │ ├── Issue_for_dianxing.java
│ │ │ │ │ │ └── Issue_for_float_zero.java
│ │ │ │ │ ├── issue_1900/
│ │ │ │ │ │ ├── Issue1901.java
│ │ │ │ │ │ ├── Issue1903.java
│ │ │ │ │ │ ├── Issue1909.java
│ │ │ │ │ │ ├── Issue1933.java
│ │ │ │ │ │ ├── Issue1939.java
│ │ │ │ │ │ ├── Issue1941.java
│ │ │ │ │ │ ├── Issue1941_JSONField_order.java
│ │ │ │ │ │ ├── Issue1944.java
│ │ │ │ │ │ ├── Issue1945.java
│ │ │ │ │ │ ├── Issue1955.java
│ │ │ │ │ │ ├── Issue1972.java
│ │ │ │ │ │ ├── Issue1977.java
│ │ │ │ │ │ ├── Issue1987.java
│ │ │ │ │ │ └── Issue1996.java
│ │ │ │ │ ├── issue_2000/
│ │ │ │ │ │ ├── Issue2012.java
│ │ │ │ │ │ ├── Issue2040.java
│ │ │ │ │ │ ├── Issue2065.java
│ │ │ │ │ │ ├── Issue2066.java
│ │ │ │ │ │ ├── Issue2074.java
│ │ │ │ │ │ ├── Issue2086.java
│ │ │ │ │ │ └── Issue2088.java
│ │ │ │ │ ├── issue_2100/
│ │ │ │ │ │ ├── Issue2129.java
│ │ │ │ │ │ ├── Issue2130.java
│ │ │ │ │ │ ├── Issue2132.java
│ │ │ │ │ │ ├── Issue2150.java
│ │ │ │ │ │ ├── Issue2156.java
│ │ │ │ │ │ ├── Issue2164.java
│ │ │ │ │ │ ├── Issue2165.java
│ │ │ │ │ │ ├── Issue2179.java
│ │ │ │ │ │ ├── Issue2182.java
│ │ │ │ │ │ ├── Issue2185.java
│ │ │ │ │ │ └── Issue2189.java
│ │ │ │ │ ├── issue_2200/
│ │ │ │ │ │ ├── Issue2201.java
│ │ │ │ │ │ ├── Issue2206.java
│ │ │ │ │ │ ├── Issue2214.java
│ │ │ │ │ │ ├── Issue2216.java
│ │ │ │ │ │ ├── Issue2224.java
│ │ │ │ │ │ ├── Issue2229.java
│ │ │ │ │ │ ├── Issue2234.java
│ │ │ │ │ │ ├── Issue2238.java
│ │ │ │ │ │ ├── Issue2239.java
│ │ │ │ │ │ ├── Issue2240.java
│ │ │ │ │ │ ├── Issue2241.java
│ │ │ │ │ │ ├── Issue2244.java
│ │ │ │ │ │ ├── Issue2249.java
│ │ │ │ │ │ ├── Issue2251.java
│ │ │ │ │ │ ├── Issue2253.java
│ │ │ │ │ │ ├── Issue2254.java
│ │ │ │ │ │ ├── Issue2260.java
│ │ │ │ │ │ ├── Issue2262.java
│ │ │ │ │ │ ├── Issue2264.java
│ │ │ │ │ │ ├── Issue2289.java
│ │ │ │ │ │ ├── Issue_for_luohaoyu.java
│ │ │ │ │ │ ├── issue2224/
│ │ │ │ │ │ │ ├── CollectionEx.java
│ │ │ │ │ │ │ ├── KeyedCollection.java
│ │ │ │ │ │ │ ├── Person.java
│ │ │ │ │ │ │ └── PersonCollection.java
│ │ │ │ │ │ ├── issue2224_2/
│ │ │ │ │ │ │ ├── GroupedCollection.java
│ │ │ │ │ │ │ ├── PersonGroupedCollection.java
│ │ │ │ │ │ │ └── StringGroupedCollection.java
│ │ │ │ │ │ ├── issue2224_3/
│ │ │ │ │ │ │ ├── ArrayGroupedCollection.java
│ │ │ │ │ │ │ ├── ArrayPersonGroupedCollection.java
│ │ │ │ │ │ │ └── ArrayStringGroupedCollection.java
│ │ │ │ │ │ ├── issue2224_4/
│ │ │ │ │ │ │ ├── MAGroupedCollection.java
│ │ │ │ │ │ │ ├── MAPersonGroupedCollection.java
│ │ │ │ │ │ │ └── MAStringGroupedCollection.java
│ │ │ │ │ │ └── issue2224_5/
│ │ │ │ │ │ ├── MA2GroupedCollection.java
│ │ │ │ │ │ ├── MA2PersonGroupedCollection.java
│ │ │ │ │ │ └── MA2StringGroupedCollection.java
│ │ │ │ │ ├── issue_2300/
│ │ │ │ │ │ ├── Issue2300.java
│ │ │ │ │ │ ├── Issue2306.java
│ │ │ │ │ │ ├── Issue2311.java
│ │ │ │ │ │ ├── Issue2334.java
│ │ │ │ │ │ ├── Issue2341.java
│ │ │ │ │ │ ├── Issue2343.java
│ │ │ │ │ │ ├── Issue2344.java
│ │ │ │ │ │ ├── Issue2346.java
│ │ │ │ │ │ ├── Issue2348.java
│ │ │ │ │ │ ├── Issue2351.java
│ │ │ │ │ │ ├── Issue2355.java
│ │ │ │ │ │ ├── Issue2357.java
│ │ │ │ │ │ ├── Issue2358.java
│ │ │ │ │ │ ├── Issue2371.java
│ │ │ │ │ │ ├── Issue2387.java
│ │ │ │ │ │ └── Issue2397.java
│ │ │ │ │ ├── issue_2400/
│ │ │ │ │ │ ├── Issue2428.java
│ │ │ │ │ │ ├── Issue2429.java
│ │ │ │ │ │ ├── Issue2430.java
│ │ │ │ │ │ ├── Issue2447.java
│ │ │ │ │ │ ├── Issue2464.java
│ │ │ │ │ │ └── Issue2488.java
│ │ │ │ │ ├── issue_2500/
│ │ │ │ │ │ ├── Issue2515.java
│ │ │ │ │ │ ├── Issue2516.java
│ │ │ │ │ │ └── Issue2579.java
│ │ │ │ │ ├── issue_2600/
│ │ │ │ │ │ ├── Issue2606.java
│ │ │ │ │ │ ├── Issue2617.java
│ │ │ │ │ │ ├── Issue2628.java
│ │ │ │ │ │ ├── Issue2635.java
│ │ │ │ │ │ ├── Issue2678.java
│ │ │ │ │ │ ├── Issue2685.java
│ │ │ │ │ │ └── Issue2689.java
│ │ │ │ │ ├── issue_2700/
│ │ │ │ │ │ ├── Issue2703.java
│ │ │ │ │ │ ├── Issue2721Test.java
│ │ │ │ │ │ ├── Issue2736.java
│ │ │ │ │ │ ├── Issue2743.java
│ │ │ │ │ │ ├── Issue2752.java
│ │ │ │ │ │ ├── Issue2754.java
│ │ │ │ │ │ ├── Issue2772.java
│ │ │ │ │ │ ├── Issue2779.java
│ │ │ │ │ │ ├── Issue2784.java
│ │ │ │ │ │ ├── Issue2787.java
│ │ │ │ │ │ ├── Issue2791.java
│ │ │ │ │ │ └── Issue2792.java
│ │ │ │ │ ├── issue_2800/
│ │ │ │ │ │ ├── Issue2830.java
│ │ │ │ │ │ ├── Issue2866.java
│ │ │ │ │ │ ├── Issue2894.java
│ │ │ │ │ │ └── Issue2903.java
│ │ │ │ │ ├── issue_2900/
│ │ │ │ │ │ ├── Issue2914.java
│ │ │ │ │ │ ├── Issue2939.java
│ │ │ │ │ │ ├── Issue2952.java
│ │ │ │ │ │ ├── Issue2962.java
│ │ │ │ │ │ └── Issue2982.java
│ │ │ │ │ ├── issue_3000/
│ │ │ │ │ │ ├── Issue3031.java
│ │ │ │ │ │ ├── Issue3049.java
│ │ │ │ │ │ ├── Issue3057.java
│ │ │ │ │ │ ├── Issue3060.java
│ │ │ │ │ │ ├── Issue3065.java
│ │ │ │ │ │ ├── Issue3066.java
│ │ │ │ │ │ ├── Issue3075.java
│ │ │ │ │ │ ├── Issue3082.java
│ │ │ │ │ │ ├── Issue3083.kt
│ │ │ │ │ │ ├── Issue3093.java
│ │ │ │ │ │ └── Issue3138.java
│ │ │ │ │ ├── issue_3100/
│ │ │ │ │ │ ├── Issue3109.java
│ │ │ │ │ │ ├── Issue3131.java
│ │ │ │ │ │ ├── Issue3132.java
│ │ │ │ │ │ ├── Issue3150.java
│ │ │ │ │ │ └── Issue3160.java
│ │ │ │ │ ├── issue_3200/
│ │ │ │ │ │ ├── Issue3206.java
│ │ │ │ │ │ ├── Issue3217.java
│ │ │ │ │ │ ├── Issue3227.java
│ │ │ │ │ │ ├── Issue3245.java
│ │ │ │ │ │ ├── Issue3246.java
│ │ │ │ │ │ ├── Issue3264.java
│ │ │ │ │ │ ├── Issue3266.java
│ │ │ │ │ │ ├── Issue3266_mixedin.java
│ │ │ │ │ │ ├── Issue3267.java
│ │ │ │ │ │ ├── Issue3274.kt
│ │ │ │ │ │ ├── Issue3279.java
│ │ │ │ │ │ ├── Issue3281.java
│ │ │ │ │ │ ├── Issue3282.java
│ │ │ │ │ │ ├── Issue3283.java
│ │ │ │ │ │ ├── Issue3293.java
│ │ │ │ │ │ └── TestIssue3223.kt
│ │ │ │ │ ├── issue_3300/
│ │ │ │ │ │ ├── Issue3217.java
│ │ │ │ │ │ ├── Issue3309.java
│ │ │ │ │ │ ├── Issue3313.java
│ │ │ │ │ │ ├── Issue3326.java
│ │ │ │ │ │ ├── Issue3329.java
│ │ │ │ │ │ ├── Issue3334.java
│ │ │ │ │ │ ├── Issue3336.java
│ │ │ │ │ │ ├── Issue3338.java
│ │ │ │ │ │ ├── Issue3343.java
│ │ │ │ │ │ ├── Issue3344.java
│ │ │ │ │ │ ├── Issue3347.java
│ │ │ │ │ │ ├── Issue3351.java
│ │ │ │ │ │ ├── Issue3352.java
│ │ │ │ │ │ ├── Issue3356.java
│ │ │ │ │ │ ├── Issue3358.java
│ │ │ │ │ │ ├── Issue3361.java
│ │ │ │ │ │ ├── Issue3373.java
│ │ │ │ │ │ ├── Issue3375.java
│ │ │ │ │ │ ├── Issue3376.java
│ │ │ │ │ │ ├── Issue3397.java
│ │ │ │ │ │ ├── Issue3443.java
│ │ │ │ │ │ ├── Issue3448.java
│ │ │ │ │ │ └── IssueForJSONFieldMatch.java
│ │ │ │ │ ├── issue_3400/
│ │ │ │ │ │ ├── Issue3436.java
│ │ │ │ │ │ ├── Issue3452.java
│ │ │ │ │ │ ├── Issue3453.java
│ │ │ │ │ │ ├── Issue3460.java
│ │ │ │ │ │ ├── Issue3465.java
│ │ │ │ │ │ ├── Issue3470.java
│ │ │ │ │ │ └── Issue_20201016_01.java
│ │ │ │ │ ├── issue_3500/
│ │ │ │ │ │ ├── Issue3516.java
│ │ │ │ │ │ ├── Issue3539.java
│ │ │ │ │ │ ├── Issue3544.java
│ │ │ │ │ │ ├── Issue3571.java
│ │ │ │ │ │ └── Issue3579.java
│ │ │ │ │ ├── issue_3600/
│ │ │ │ │ │ ├── Issue3614.java
│ │ │ │ │ │ ├── Issue3628.java
│ │ │ │ │ │ ├── Issue3629.java
│ │ │ │ │ │ ├── Issue3631.java
│ │ │ │ │ │ ├── Issue3637.java
│ │ │ │ │ │ ├── Issue3652.java
│ │ │ │ │ │ ├── Issue3655.java
│ │ │ │ │ │ ├── Issue3671.java
│ │ │ │ │ │ ├── Issue3672.java
│ │ │ │ │ │ ├── Issue3682.java
│ │ │ │ │ │ ├── Issue3689.java
│ │ │ │ │ │ └── Issue3693.java
│ │ │ │ │ ├── issue_3800/
│ │ │ │ │ │ └── Issue3810.java
│ │ │ │ │ ├── jdk7/
│ │ │ │ │ │ └── PathTest.java
│ │ │ │ │ ├── jdk8/
│ │ │ │ │ │ ├── DoubleAdderTest.java
│ │ │ │ │ │ ├── DurationTest.java
│ │ │ │ │ │ ├── InstantTest.java
│ │ │ │ │ │ ├── LocalDateTest.java
│ │ │ │ │ │ ├── LocalDateTest2.java
│ │ │ │ │ │ ├── LocalDateTest3.java
│ │ │ │ │ │ ├── LocalDateTest4.java
│ │ │ │ │ │ ├── LocalDateTest5.java
│ │ │ │ │ │ ├── LocalDateTimeTest.java
│ │ │ │ │ │ ├── LocalDateTimeTest2.java
│ │ │ │ │ │ ├── LocalDateTimeTest3.java
│ │ │ │ │ │ ├── LocalDateTimeTest3_private.java
│ │ │ │ │ │ ├── LocalDateTimeTest4.java
│ │ │ │ │ │ ├── LocalDateTimeTest5.java
│ │ │ │ │ │ ├── LocalTimeTest.java
│ │ │ │ │ │ ├── LocalTimeTest2.java
│ │ │ │ │ │ ├── LocalTimeTest3.java
│ │ │ │ │ │ ├── LongAdderTest.java
│ │ │ │ │ │ ├── OffseTimeTest.java
│ │ │ │ │ │ ├── OffsetDateTimeTest.java
│ │ │ │ │ │ ├── OptionalDouble_Test.java
│ │ │ │ │ │ ├── OptionalInt_Test.java
│ │ │ │ │ │ ├── OptionalLong_Test.java
│ │ │ │ │ │ ├── OptionalTest.java
│ │ │ │ │ │ ├── OptionalTest2.java
│ │ │ │ │ │ ├── OptionalTest3.java
│ │ │ │ │ │ ├── OptionalTest4.java
│ │ │ │ │ │ ├── OptionalTest_empty.java
│ │ │ │ │ │ ├── PeriodTest.java
│ │ │ │ │ │ ├── ZoneIdTest.java
│ │ │ │ │ │ ├── ZonedDateTimeTest.java
│ │ │ │ │ │ └── ZonedDateTimeTest2.java
│ │ │ │ │ ├── joda/
│ │ │ │ │ │ ├── JodaTest_0.java
│ │ │ │ │ │ ├── JodaTest_1_LocalDateTime.java
│ │ │ │ │ │ ├── JodaTest_2_LocalDateTimeTest3_private.java
│ │ │ │ │ │ ├── JodaTest_3_LocalTimeTest.java
│ │ │ │ │ │ ├── JodaTest_4_InstantTest.java
│ │ │ │ │ │ ├── JodaTest_5_DateTimeFormatter.java
│ │ │ │ │ │ ├── JodaTest_6_Duration.java
│ │ │ │ │ │ ├── JodaTest_6_Period.java
│ │ │ │ │ │ ├── JodaTest_7_DateTimeZone.java
│ │ │ │ │ │ └── JodaTest_8_DateTimeTest.java
│ │ │ │ │ ├── jsonfield/
│ │ │ │ │ │ ├── JSONFieldTest_0.java
│ │ │ │ │ │ └── JSONFieldTest_1.java
│ │ │ │ │ ├── jsonp/
│ │ │ │ │ │ ├── JSONPParseTest.java
│ │ │ │ │ │ ├── JSONPParseTest1.java
│ │ │ │ │ │ ├── JSONPParseTest2.java
│ │ │ │ │ │ ├── JSONPParseTest3.java
│ │ │ │ │ │ └── JSONPParseTest4.java
│ │ │ │ │ ├── jsonpatch/
│ │ │ │ │ │ └── JSONPatchTest_0.java
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ ├── ClassWithPairMixedTypesTest.java
│ │ │ │ │ │ ├── ClassWithPairTest.java
│ │ │ │ │ │ ├── ClassWithRangesTest.java
│ │ │ │ │ │ ├── ClassWithTripleTest.java
│ │ │ │ │ │ ├── Class_WithPrimaryAndSecondaryConstructorTest.java
│ │ │ │ │ │ ├── DataClassSimpleTest.java
│ │ │ │ │ │ ├── DataClassTest.java
│ │ │ │ │ │ ├── Issue1420.java
│ │ │ │ │ │ ├── Issue1462.java
│ │ │ │ │ │ ├── Issue1483.java
│ │ │ │ │ │ ├── Issue1524.java
│ │ │ │ │ │ ├── Issue1543.java
│ │ │ │ │ │ ├── Issue1547.java
│ │ │ │ │ │ ├── Issue1569.java
│ │ │ │ │ │ ├── Issue1750.java
│ │ │ │ │ │ ├── Issue_for_kotlin_20181203.java
│ │ │ │ │ │ ├── ResponseKotlin2Test.java
│ │ │ │ │ │ ├── ResponseKotlinTest.java
│ │ │ │ │ │ └── Zoujing.java
│ │ │ │ │ ├── lombok/
│ │ │ │ │ │ └── LomBokTest.java
│ │ │ │ │ ├── mixins/
│ │ │ │ │ │ ├── MixInRemovalTest.java
│ │ │ │ │ │ ├── MixinAPITest.java
│ │ │ │ │ │ ├── MixinDeserForClassTest.java
│ │ │ │ │ │ ├── MixinDeserForMethodsTest.java
│ │ │ │ │ │ ├── MixinInheritanceTest.java
│ │ │ │ │ │ ├── MixinJSONTypeTest.java
│ │ │ │ │ │ ├── MixinMergingTest.java
│ │ │ │ │ │ ├── MixinSerForFieldsTest.java
│ │ │ │ │ │ └── MixinSerForMethodsTest.java
│ │ │ │ │ ├── naming/
│ │ │ │ │ │ ├── ListCaseTest.java
│ │ │ │ │ │ └── NamingSerTest.java
│ │ │ │ │ ├── parser/
│ │ │ │ │ │ ├── AEHuangliang2Test.java
│ │ │ │ │ │ ├── AETest.java
│ │ │ │ │ │ ├── Alipay1213.java
│ │ │ │ │ │ ├── AmbiguousTest.java
│ │ │ │ │ │ ├── AsmParserTest0.java
│ │ │ │ │ │ ├── AsmParserTest1.java
│ │ │ │ │ │ ├── AtomicIntegerComptableAndroidTest.java
│ │ │ │ │ │ ├── AtomicLongComptableAndroidTest.java
│ │ │ │ │ │ ├── AutoTypeCheckHandlerTest.java
│ │ │ │ │ │ ├── BigDecimalKeyFieldTest.java
│ │ │ │ │ │ ├── BigListStringFieldTest.java
│ │ │ │ │ │ ├── BigListStringFieldTest_private.java
│ │ │ │ │ │ ├── BigSpecailKeyTest.java
│ │ │ │ │ │ ├── BigSpecailKeyTest2.java
│ │ │ │ │ │ ├── BigSpecailStringTest.java
│ │ │ │ │ │ ├── BigStringFieldTest.java
│ │ │ │ │ │ ├── BigStringFieldTest_private.java
│ │ │ │ │ │ ├── ClassConstructorTest1.java
│ │ │ │ │ │ ├── ClassTest.java
│ │ │ │ │ │ ├── CommentTest.java
│ │ │ │ │ │ ├── CreateInstanceErrorTest.java
│ │ │ │ │ │ ├── CreateInstanceErrorTest2.java
│ │ │ │ │ │ ├── DateParserTest.java
│ │ │ │ │ │ ├── DateParserTest_sql.java
│ │ │ │ │ │ ├── DateParserTest_sql_timestamp.java
│ │ │ │ │ │ ├── DateTest.java
│ │ │ │ │ │ ├── DefaultExtJSONParserTest.java
│ │ │ │ │ │ ├── DefaultExtJSONParserTest_0.java
│ │ │ │ │ │ ├── DefaultExtJSONParserTest_1.java
│ │ │ │ │ │ ├── DefaultExtJSONParserTest_2.java
│ │ │ │ │ │ ├── DefaultExtJSONParserTest_3.java
│ │ │ │ │ │ ├── DefaultExtJSONParserTest_4.java
│ │ │ │ │ │ ├── DefaultExtJSONParserTest_5.java
│ │ │ │ │ │ ├── DefaultExtJSONParserTest_6.java
│ │ │ │ │ │ ├── DefaultExtJSONParserTest_7.java
│ │ │ │ │ │ ├── DefaultExtJSONParser_parseArray.java
│ │ │ │ │ │ ├── DefaultExtJSONParser_parseArray_2.java
│ │ │ │ │ │ ├── DefaultJSONParserTest2.java
│ │ │ │ │ │ ├── DefaultJSONParserTest_charArray.java
│ │ │ │ │ │ ├── DefaultJSONParserTest_comma.java
│ │ │ │ │ │ ├── DefaultJSONParserTest_date.java
│ │ │ │ │ │ ├── DefaultJSONParserTest_error.java
│ │ │ │ │ │ ├── EmptyImmutableTest.java
│ │ │ │ │ │ ├── EnumParserTest.java
│ │ │ │ │ │ ├── FastMatchCheckTest.java
│ │ │ │ │ │ ├── FeatureCountTest.java
│ │ │ │ │ │ ├── FeatureParserTest.java
│ │ │ │ │ │ ├── FeatureTest.java
│ │ │ │ │ │ ├── InetSocketAddressTest.java
│ │ │ │ │ │ ├── JSONArrayParseTest.java
│ │ │ │ │ │ ├── JSONLexerAllowCommentTest.java
│ │ │ │ │ │ ├── JSONLexerTest.java
│ │ │ │ │ │ ├── JSONLexerTest_10.java
│ │ │ │ │ │ ├── JSONLexerTest_11.java
│ │ │ │ │ │ ├── JSONLexerTest_12.java
│ │ │ │ │ │ ├── JSONLexerTest_13.java
│ │ │ │ │ │ ├── JSONLexerTest_14.java
│ │ │ │ │ │ ├── JSONLexerTest_15.java
│ │ │ │ │ │ ├── JSONLexerTest_16.java
│ │ │ │ │ │ ├── JSONLexerTest_2.java
│ │ │ │ │ │ ├── JSONLexerTest_3.java
│ │ │ │ │ │ ├── JSONLexerTest_4.java
│ │ │ │ │ │ ├── JSONLexerTest_5.java
│ │ │ │ │ │ ├── JSONLexerTest_6.java
│ │ │ │ │ │ ├── JSONLexerTest_7.java
│ │ │ │ │ │ ├── JSONLexerTest_8.java
│ │ │ │ │ │ ├── JSONLexerTest_9.java
│ │ │ │ │ │ ├── JSONLexerTest_set.java
│ │ │ │ │ │ ├── JSONReaderScannerTest__entity_boolean.java
│ │ │ │ │ │ ├── JSONReaderScannerTest__entity_double.java
│ │ │ │ │ │ ├── JSONReaderScannerTest__entity_double_2.java
│ │ │ │ │ │ ├── JSONReaderScannerTest__entity_enum.java
│ │ │ │ │ │ ├── JSONReaderScannerTest__entity_float.java
│ │ │ │ │ │ ├── JSONReaderScannerTest__entity_int.java
│ │ │ │ │ │ ├── JSONReaderScannerTest__entity_long.java
│ │ │ │ │ │ ├── JSONReaderScannerTest__entity_string.java
│ │ │ │ │ │ ├── JSONReaderScannerTest__entity_stringList.java
│ │ │ │ │ │ ├── JSONReaderScannerTest__map_string.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_array_string.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_bytes.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_decimal.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_enum.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_error.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_error2.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_error3.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_error4.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_error5.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_int.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_jsonobject.java
│ │ │ │ │ │ ├── JSONReaderScannerTest_long.java
│ │ │ │ │ │ ├── JSONReaderTest_array_array.java
│ │ │ │ │ │ ├── JSONReaderTest_array_array_2.java
│ │ │ │ │ │ ├── JSONReaderTest_array_object.java
│ │ │ │ │ │ ├── JSONReaderTest_array_object_2.java
│ │ │ │ │ │ ├── JSONReaderTest_object_int.java
│ │ │ │ │ │ ├── JSONReaderTest_object_int_unquote.java
│ │ │ │ │ │ ├── JSONReaderTest_object_long.java
│ │ │ │ │ │ ├── JSONReaderTest_object_object.java
│ │ │ │ │ │ ├── JSONReaderTest_object_string.java
│ │ │ │ │ │ ├── JSONReader_error.java
│ │ │ │ │ │ ├── JSONReader_top.java
│ │ │ │ │ │ ├── JSONScannerTest_ISO8601.java
│ │ │ │ │ │ ├── JSONScannerTest__nextToken.java
│ │ │ │ │ │ ├── JSONScannerTest__x.java
│ │ │ │ │ │ ├── JSONScannerTest_colon.java
│ │ │ │ │ │ ├── JSONScannerTest_false.java
│ │ │ │ │ │ ├── JSONScannerTest_ident.java
│ │ │ │ │ │ ├── JSONScannerTest_int.java
│ │ │ │ │ │ ├── JSONScannerTest_isEOF.java
│ │ │ │ │ │ ├── JSONScannerTest_long.java
│ │ │ │ │ │ ├── JSONScannerTest_new.java
│ │ │ │ │ │ ├── JSONScannerTest_null.java
│ │ │ │ │ │ ├── JSONScannerTest_scanFieldBoolean.java
│ │ │ │ │ │ ├── JSONScannerTest_scanFieldBoolean_unquote.java
│ │ │ │ │ │ ├── JSONScannerTest_scanFieldDouble.java
│ │ │ │ │ │ ├── JSONScannerTest_scanFieldFloat.java
│ │ │ │ │ │ ├── JSONScannerTest_scanFieldInt.java
│ │ │ │ │ │ ├── JSONScannerTest_scanFieldLong.java
│ │ │ │ │ │ ├── JSONScannerTest_scanFieldString.java
│ │ │ │ │ │ ├── JSONScannerTest_scanFieldStringArray.java
│ │ │ │ │ │ ├── JSONScannerTest_scanFieldString_error.java
│ │ │ │ │ │ ├── JSONScannerTest_scanSymbol.java
│ │ │ │ │ │ ├── JSONScannerTest_singQuoteString.java
│ │ │ │ │ │ ├── JSONScannerTest_symbol.java
│ │ │ │ │ │ ├── JSONScannerTest_true.java
│ │ │ │ │ │ ├── MapResetTest.java
│ │ │ │ │ │ ├── MaximumLevelTest.java
│ │ │ │ │ │ ├── NullCheckTest.java
│ │ │ │ │ │ ├── OrderedFieldTest.java
│ │ │ │ │ │ ├── ParseContextTest.java
│ │ │ │ │ │ ├── ParseRestTest.java
│ │ │ │ │ │ ├── ParserSpecialCharTest.java
│ │ │ │ │ │ ├── ParserSpecialCharTest_map.java
│ │ │ │ │ │ ├── ParserSpecialCharTest_map_singleQuote.java
│ │ │ │ │ │ ├── PrivateConstrunctorTest.java
│ │ │ │ │ │ ├── ProductViewTest.java
│ │ │ │ │ │ ├── ReadOnlyAtomicBooleanTest.java
│ │ │ │ │ │ ├── ReadOnlyAtomicBooleanTest_field.java
│ │ │ │ │ │ ├── ReadOnlyAtomicIntegerTest.java
│ │ │ │ │ │ ├── ReadOnlyAtomicIntegerTest_field.java
│ │ │ │ │ │ ├── ReadOnlyAtomicLongTest.java
│ │ │ │ │ │ ├── ReadOnlyAtomicLongTest_field.java
│ │ │ │ │ │ ├── ReadOnlyCollectionTest.java
│ │ │ │ │ │ ├── ReadOnlyCollectionTest_final_field.java
│ │ │ │ │ │ ├── ReadOnlyCollectionTest_final_field_null.java
│ │ │ │ │ │ ├── ReadOnlyMapTest.java
│ │ │ │ │ │ ├── ReadOnlyMapTest2.java
│ │ │ │ │ │ ├── ReadOnlyMapTest2_final_field.java
│ │ │ │ │ │ ├── ReadOnlyMapTest_final_field.java
│ │ │ │ │ │ ├── RedundantTest.java
│ │ │ │ │ │ ├── SafeModeTest.java
│ │ │ │ │ │ ├── TestException.java
│ │ │ │ │ │ ├── TestInitStringFieldAsEmpty.java
│ │ │ │ │ │ ├── TestInitStringFieldAsEmpty2.java
│ │ │ │ │ │ ├── TestUTF8.java
│ │ │ │ │ │ ├── TestUTF8_2.java
│ │ │ │ │ │ ├── TypeReferenceTest.java
│ │ │ │ │ │ ├── TypeUtilsTest.java
│ │ │ │ │ │ ├── TypeUtilsTest2.java
│ │ │ │ │ │ ├── TypeUtilsTest3.java
│ │ │ │ │ │ ├── TypeUtilsTest4.java
│ │ │ │ │ │ ├── TypeUtilsTest_cast.java
│ │ │ │ │ │ ├── TypeUtilsTest_castToBigDecimal.java
│ │ │ │ │ │ ├── TypeUtilsTest_castToBigInteger.java
│ │ │ │ │ │ ├── TypeUtilsTest_castToBytes.java
│ │ │ │ │ │ ├── TypeUtilsTest_castToDate.java
│ │ │ │ │ │ ├── TypeUtilsTest_castToJavaBean.java
│ │ │ │ │ │ ├── TypeUtilsTest_castToJavaBean_JSONType.java
│ │ │ │ │ │ ├── TypeUtilsTest_compatibleWithJavaBean.java
│ │ │ │ │ │ ├── TypeUtilsTest_compatibleWithJavaBean_boolean.java
│ │ │ │ │ │ ├── TypeUtilsTest_interface.java
│ │ │ │ │ │ ├── TypeUtilsTest_loadClass.java
│ │ │ │ │ │ ├── TypeUtilsToJSONTest.java
│ │ │ │ │ │ ├── TypeUtils_parseDouble_Test.java
│ │ │ │ │ │ ├── TypeUtils_parseFloat_Test.java
│ │ │ │ │ │ ├── UTF8ByteArrayLexerTest_symbol.java
│ │ │ │ │ │ ├── UTF8ByteArrayParseTest.java
│ │ │ │ │ │ ├── UnquoteNameTest.java
│ │ │ │ │ │ ├── array/
│ │ │ │ │ │ │ ├── BeanToArrayAutoTypeTest.java
│ │ │ │ │ │ │ ├── BeanToArrayAutoTypeTest2.java
│ │ │ │ │ │ │ ├── BeanToArrayAutoTypeTest3.java
│ │ │ │ │ │ │ ├── BeanToArrayTest.java
│ │ │ │ │ │ │ ├── BeanToArrayTest2.java
│ │ │ │ │ │ │ ├── BeanToArrayTest3.java
│ │ │ │ │ │ │ ├── BeanToArrayTest3_private.java
│ │ │ │ │ │ │ ├── BeanToArrayTest_date.java
│ │ │ │ │ │ │ ├── BeanToArrayTest_date_private.java
│ │ │ │ │ │ │ ├── BeanToArrayTest_enum.java
│ │ │ │ │ │ │ ├── BeanToArrayTest_enum_private.java
│ │ │ │ │ │ │ ├── BeanToArrayTest_int.java
│ │ │ │ │ │ │ ├── BeanToArrayTest_long.java
│ │ │ │ │ │ │ └── BeanToArrayTest_private.java
│ │ │ │ │ │ ├── bug/
│ │ │ │ │ │ │ ├── Bug0.java
│ │ │ │ │ │ │ ├── Bug2.java
│ │ │ │ │ │ │ ├── Bug_for_changhao.java
│ │ │ │ │ │ │ ├── Bug_for_dingzhu.java
│ │ │ │ │ │ │ ├── Bug_for_guanxiu.java
│ │ │ │ │ │ │ ├── Bug_for_kongmu.java
│ │ │ │ │ │ │ ├── Bug_for_lingzhi.java
│ │ │ │ │ │ │ ├── Bug_for_lixianfeng.java
│ │ │ │ │ │ │ ├── Bug_for_yihaodian.java
│ │ │ │ │ │ │ ├── Bug_for_zitao.java
│ │ │ │ │ │ │ ├── EmptyParseArrayTest.java
│ │ │ │ │ │ │ └── JSONObectNullTest.java
│ │ │ │ │ │ ├── creator/
│ │ │ │ │ │ │ ├── JSONCreatorFactoryTest.java
│ │ │ │ │ │ │ ├── JSONCreatorTest.java
│ │ │ │ │ │ │ ├── JSONCreatorTest10.java
│ │ │ │ │ │ │ ├── JSONCreatorTest11.java
│ │ │ │ │ │ │ ├── JSONCreatorTest2.java
│ │ │ │ │ │ │ ├── JSONCreatorTest3.java
│ │ │ │ │ │ │ ├── JSONCreatorTest4.java
│ │ │ │ │ │ │ ├── JSONCreatorTest5.java
│ │ │ │ │ │ │ ├── JSONCreatorTest6.java
│ │ │ │ │ │ │ ├── JSONCreatorTest7.java
│ │ │ │ │ │ │ ├── JSONCreatorTest8.java
│ │ │ │ │ │ │ ├── JSONCreatorTest9.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_default_boolean.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_default_byte.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_default_double.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_default_float.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_default_int.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_default_long.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_default_short.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_double.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_double_obj.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_error.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_error2.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_error3.java
│ │ │ │ │ │ │ ├── JSONCreatorTest_float.java
│ │ │ │ │ │ │ └── JSONCreatorTest_float_obj.java
│ │ │ │ │ │ ├── deser/
│ │ │ │ │ │ │ ├── AbstractSerializeTest.java
│ │ │ │ │ │ │ ├── AbstractSerializeTest2.java
│ │ │ │ │ │ │ ├── BigDecimalDeserializerTest.java
│ │ │ │ │ │ │ ├── BigDecimalTest.java
│ │ │ │ │ │ │ ├── BigIntegerDeserializerTest.java
│ │ │ │ │ │ │ ├── BooleanDeserializerTest.java
│ │ │ │ │ │ │ ├── BooleanFieldDeserializerTest.java
│ │ │ │ │ │ │ ├── BooleanFieldDeserializerTest2.java
│ │ │ │ │ │ │ ├── CharArrayDeserializerTest.java
│ │ │ │ │ │ │ ├── ClassTest.java
│ │ │ │ │ │ │ ├── CollectionFieldTest.java
│ │ │ │ │ │ │ ├── ConcurrentHashMapDeserializerTest.java
│ │ │ │ │ │ │ ├── ConstructorErrorTest.java
│ │ │ │ │ │ │ ├── ConstructorErrorTest_initError.java
│ │ │ │ │ │ │ ├── ConstructorErrorTest_initError_private.java
│ │ │ │ │ │ │ ├── ConstructorErrorTest_inner.java
│ │ │ │ │ │ │ ├── ConstructorErrorTest_private.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest10.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest11.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest12.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest2.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest3.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest4.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest5.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest6.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest7.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest8.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest9.java
│ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest_collection.java
│ │ │ │ │ │ │ ├── DoubleArrayFieldDeserializerTest.java
│ │ │ │ │ │ │ ├── DoubleDeserializerTest.java
│ │ │ │ │ │ │ ├── DoubleFieldDeserializerTest.java
│ │ │ │ │ │ │ ├── DupTest.java
│ │ │ │ │ │ │ ├── EnumMapTest.java
│ │ │ │ │ │ │ ├── EnumTest.java
│ │ │ │ │ │ │ ├── FactoryTest.java
│ │ │ │ │ │ │ ├── FactoryTest_error.java
│ │ │ │ │ │ │ ├── FieldDeserializerTest.java
│ │ │ │ │ │ │ ├── FieldDeserializerTest1.java
│ │ │ │ │ │ │ ├── FieldDeserializerTest10.java
│ │ │ │ │ │ │ ├── FieldDeserializerTest2.java
│ │ │ │ │ │ │ ├── FieldDeserializerTest3.java
│ │ │ │ │ │ │ ├── FieldDeserializerTest4.java
│ │ │ │ │ │ │ ├── FieldDeserializerTest5.java
│ │ │ │ │ │ │ ├── FieldDeserializerTest6.java
│ │ │ │ │ │ │ ├── FieldDeserializerTest7.java
│ │ │ │ │ │ │ ├── FieldDeserializerTest8.java
│ │ │ │ │ │ │ ├── FieldDeserializerTest9.java
│ │ │ │ │ │ │ ├── FieldSerializerTest.java
│ │ │ │ │ │ │ ├── FieldSerializerTest2.java
│ │ │ │ │ │ │ ├── FieldSerializerTest3.java
│ │ │ │ │ │ │ ├── FieldSerializerTest4.java
│ │ │ │ │ │ │ ├── FloatDeserializerTest.java
│ │ │ │ │ │ │ ├── GetOnlyCollectionTest.java
│ │ │ │ │ │ │ ├── HashtableFieldTest.java
│ │ │ │ │ │ │ ├── InetAddressDeserializerTest.java
│ │ │ │ │ │ │ ├── InnerClassDeser.java
│ │ │ │ │ │ │ ├── InnerClassDeser2.java
│ │ │ │ │ │ │ ├── InnerClassDeser3.java
│ │ │ │ │ │ │ ├── InnerClassDeser4.java
│ │ │ │ │ │ │ ├── IntegerDeserializerTest.java
│ │ │ │ │ │ │ ├── IntegerFieldDeserializerTest.java
│ │ │ │ │ │ │ ├── IntegerFieldDeserializerTest2.java
│ │ │ │ │ │ │ ├── IntegerFieldDeserializerTest3.java
│ │ │ │ │ │ │ ├── IntegerParseTest.java
│ │ │ │ │ │ │ ├── InterfaceParseTest.java
│ │ │ │ │ │ │ ├── JSONFieldSetterTest.java
│ │ │ │ │ │ │ ├── LocaleFieldTest.java
│ │ │ │ │ │ │ ├── LocaleTest.java
│ │ │ │ │ │ │ ├── LongDeserializerTest.java
│ │ │ │ │ │ │ ├── LongFieldDeserializerTest.java
│ │ │ │ │ │ │ ├── LongFieldDeserializerTest2.java
│ │ │ │ │ │ │ ├── LongFieldDeserializerTest3.java
│ │ │ │ │ │ │ ├── MapDeserializerTest.java
│ │ │ │ │ │ │ ├── MapTest.java
│ │ │ │ │ │ │ ├── MultiArrayTest.java
│ │ │ │ │ │ │ ├── MyMapFieldTest.java
│ │ │ │ │ │ │ ├── NumberDeserializerTest.java
│ │ │ │ │ │ │ ├── NumberDeserializerTest2.java
│ │ │ │ │ │ │ ├── ParseNullTest.java
│ │ │ │ │ │ │ ├── PatternDeserializerTest.java
│ │ │ │ │ │ │ ├── PropertyProcessableTest_0.java
│ │ │ │ │ │ │ ├── ResolveFieldDeserializerTest.java
│ │ │ │ │ │ │ ├── ShortFieldDeserializerTest.java
│ │ │ │ │ │ │ ├── SmartMatchTest.java
│ │ │ │ │ │ │ ├── SmartMatchTest2.java
│ │ │ │ │ │ │ ├── SmartMatchTest_boolean_is.java
│ │ │ │ │ │ │ ├── SmartMatchTest_snake.java
│ │ │ │ │ │ │ ├── SmartMatchTest_snake2.java
│ │ │ │ │ │ │ ├── SortedSetFieldTest.java
│ │ │ │ │ │ │ ├── SqlDateDeserializerTest.java
│ │ │ │ │ │ │ ├── SqlDateDeserializerTest2.java
│ │ │ │ │ │ │ ├── StackTraceElementDeserializerTest.java
│ │ │ │ │ │ │ ├── TestEnum.java
│ │ │ │ │ │ │ ├── TestNull.java
│ │ │ │ │ │ │ ├── ThrowableDeserializerTest.java
│ │ │ │ │ │ │ ├── ThrowableDeserializerTest_2.java
│ │ │ │ │ │ │ ├── TimeDeserializerTest.java
│ │ │ │ │ │ │ ├── TimeDeserializerTest2.java
│ │ │ │ │ │ │ ├── TimeDeserializerTest3.java
│ │ │ │ │ │ │ ├── TimeZoneDeserializerTest.java
│ │ │ │ │ │ │ ├── TreeMapDeserializerTest.java
│ │ │ │ │ │ │ ├── TreeSetFieldTest.java
│ │ │ │ │ │ │ ├── URIDeserializerTest.java
│ │ │ │ │ │ │ ├── URLDeserializerTest.java
│ │ │ │ │ │ │ ├── UUIDDeserializerTest.java
│ │ │ │ │ │ │ ├── array/
│ │ │ │ │ │ │ │ ├── FieldBoolArrayTest.java
│ │ │ │ │ │ │ │ ├── FieldByteArrayTest.java
│ │ │ │ │ │ │ │ ├── FieldDoubleArrayTest.java
│ │ │ │ │ │ │ │ ├── FieldFloatArray2Test.java
│ │ │ │ │ │ │ │ ├── FieldFloatArray2Test_private.java
│ │ │ │ │ │ │ │ ├── FieldFloatArrayTest.java
│ │ │ │ │ │ │ │ ├── FieldFloatArrayTest2.java
│ │ │ │ │ │ │ │ ├── FieldFloatArrayTest_private.java
│ │ │ │ │ │ │ │ ├── FieldIntArrayTest.java
│ │ │ │ │ │ │ │ ├── FieldIntArrayTest2.java
│ │ │ │ │ │ │ │ ├── FieldIntArrayTest_private.java
│ │ │ │ │ │ │ │ ├── FieldLongArrayTest.java
│ │ │ │ │ │ │ │ └── FieldShortArrayTest.java
│ │ │ │ │ │ │ ├── arraymapping/
│ │ │ │ │ │ │ │ ├── ArrayMappingErrorTest.java
│ │ │ │ │ │ │ │ ├── ArrayMappingErrorTest2.java
│ │ │ │ │ │ │ │ ├── ArrayMappingErrorTest3.java
│ │ │ │ │ │ │ │ ├── ArrayMapping_bool.java
│ │ │ │ │ │ │ │ ├── ArrayMapping_double.java
│ │ │ │ │ │ │ │ ├── ArrayMapping_float.java
│ │ │ │ │ │ │ │ ├── ArrayMapping_long.java
│ │ │ │ │ │ │ │ └── ArrayMapping_long_stream.java
│ │ │ │ │ │ │ ├── asm/
│ │ │ │ │ │ │ │ ├── TestASM.java
│ │ │ │ │ │ │ │ ├── TestASM2.java
│ │ │ │ │ │ │ │ ├── TestASMEishay.java
│ │ │ │ │ │ │ │ ├── TestASM_BigDecimal.java
│ │ │ │ │ │ │ │ ├── TestASM_Byte_0.java
│ │ │ │ │ │ │ │ ├── TestASM_Date.java
│ │ │ │ │ │ │ │ ├── TestASM_Integer.java
│ │ │ │ │ │ │ │ ├── TestASM_List.java
│ │ │ │ │ │ │ │ ├── TestASM_Long_0.java
│ │ │ │ │ │ │ │ ├── TestASM_Short_0.java
│ │ │ │ │ │ │ │ ├── TestASM_boolean.java
│ │ │ │ │ │ │ │ ├── TestASM_byte.java
│ │ │ │ │ │ │ │ ├── TestASM_char.java
│ │ │ │ │ │ │ │ ├── TestASM_double.java
│ │ │ │ │ │ │ │ ├── TestASM_float.java
│ │ │ │ │ │ │ │ ├── TestASM_int.java
│ │ │ │ │ │ │ │ ├── TestASM_long.java
│ │ │ │ │ │ │ │ ├── TestASM_null.java
│ │ │ │ │ │ │ │ ├── TestASM_object.java
│ │ │ │ │ │ │ │ ├── TestASM_primitive.java
│ │ │ │ │ │ │ │ └── TestASM_short.java
│ │ │ │ │ │ │ ├── awt/
│ │ │ │ │ │ │ │ ├── ColorDeserializerTest.java
│ │ │ │ │ │ │ │ ├── FontDeserializerTest.java
│ │ │ │ │ │ │ │ ├── PointDeserializerTest.java
│ │ │ │ │ │ │ │ ├── PointDeserializerTest2.java
│ │ │ │ │ │ │ │ └── RectangleDeserializerTest.java
│ │ │ │ │ │ │ ├── date/
│ │ │ │ │ │ │ │ ├── DateDeserializerTest.java
│ │ │ │ │ │ │ │ ├── DateFormatDeserializerTest.java
│ │ │ │ │ │ │ │ ├── DateParseTest1.java
│ │ │ │ │ │ │ │ ├── DateParseTest10.java
│ │ │ │ │ │ │ │ ├── DateParseTest11.java
│ │ │ │ │ │ │ │ ├── DateParseTest12.java
│ │ │ │ │ │ │ │ ├── DateParseTest13.java
│ │ │ │ │ │ │ │ ├── DateParseTest14.java
│ │ │ │ │ │ │ │ ├── DateParseTest2.java
│ │ │ │ │ │ │ │ ├── DateParseTest3.java
│ │ │ │ │ │ │ │ ├── DateParseTest4.java
│ │ │ │ │ │ │ │ ├── DateParseTest5.java
│ │ │ │ │ │ │ │ ├── DateParseTest6.java
│ │ │ │ │ │ │ │ ├── DateParseTest7.java
│ │ │ │ │ │ │ │ ├── DateParseTest8.java
│ │ │ │ │ │ │ │ ├── DateParseTest9.java
│ │ │ │ │ │ │ │ └── DateTest.java
│ │ │ │ │ │ │ ├── deny/
│ │ │ │ │ │ │ │ ├── DenyTest.java
│ │ │ │ │ │ │ │ ├── DenyTest10.java
│ │ │ │ │ │ │ │ ├── DenyTest11.java
│ │ │ │ │ │ │ │ ├── DenyTest12.java
│ │ │ │ │ │ │ │ ├── DenyTest13.java
│ │ │ │ │ │ │ │ ├── DenyTest14.java
│ │ │ │ │ │ │ │ ├── DenyTest15.java
│ │ │ │ │ │ │ │ ├── DenyTest16.java
│ │ │ │ │ │ │ │ ├── DenyTest2.java
│ │ │ │ │ │ │ │ ├── DenyTest3.java
│ │ │ │ │ │ │ │ ├── DenyTest4.java
│ │ │ │ │ │ │ │ ├── DenyTest5.java
│ │ │ │ │ │ │ │ ├── DenyTest6.java
│ │ │ │ │ │ │ │ ├── DenyTest7.java
│ │ │ │ │ │ │ │ ├── DenyTest8.java
│ │ │ │ │ │ │ │ ├── DenyTest9.java
│ │ │ │ │ │ │ │ └── InitJavaBeanDeserializerTest.java
│ │ │ │ │ │ │ ├── extra/
│ │ │ │ │ │ │ │ └── ExtraTest.java
│ │ │ │ │ │ │ ├── generic/
│ │ │ │ │ │ │ │ ├── ByteListTest.java
│ │ │ │ │ │ │ │ ├── GenericArrayTest.java
│ │ │ │ │ │ │ │ ├── GenericArrayTest2.java
│ │ │ │ │ │ │ │ ├── GenericArrayTest3.java
│ │ │ │ │ │ │ │ ├── GenericArrayTest4.java
│ │ │ │ │ │ │ │ ├── GenericArrayTest5.java
│ │ │ │ │ │ │ │ ├── GenericMap.java
│ │ │ │ │ │ │ │ ├── GenericTest.java
│ │ │ │ │ │ │ │ ├── GenericTest2.java
│ │ │ │ │ │ │ │ ├── GenericTest3.java
│ │ │ │ │ │ │ │ ├── GenericTest4.java
│ │ │ │ │ │ │ │ ├── GenericTest5.java
│ │ │ │ │ │ │ │ └── ListStrFieldTest.java
│ │ │ │ │ │ │ ├── list/
│ │ │ │ │ │ │ │ ├── ArrayDeserializerTest.java
│ │ │ │ │ │ │ │ ├── ArrayLisMapDeserializerTest.java
│ │ │ │ │ │ │ │ ├── ArrayListEnumFieldDeserializerTest.java
│ │ │ │ │ │ │ │ ├── ArrayListStringDeserializerTest.java
│ │ │ │ │ │ │ │ ├── ArrayListTypeDeserializerTest.java
│ │ │ │ │ │ │ │ ├── ArrayListTypeFieldTest.java
│ │ │ │ │ │ │ │ ├── ListFieldTest.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest_array_big.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest_createError.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest_dom.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest_dom_array.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest_dom_array_2.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest_dom_hashSet.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest_dom_treeSet.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest_stream.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest_stream_TreeSet.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest_stream_array.java
│ │ │ │ │ │ │ │ ├── ListStringFieldTest_stream_array_2.java
│ │ │ │ │ │ │ │ └── ListStringFieldTest_stream_hashSet.java
│ │ │ │ │ │ │ ├── nonctor/
│ │ │ │ │ │ │ │ └── NonDefaultConstructorTest0.java
│ │ │ │ │ │ │ ├── stream/
│ │ │ │ │ │ │ │ ├── ReaderBooleanFieldTest.java
│ │ │ │ │ │ │ │ ├── ReaderIntFieldTest.java
│ │ │ │ │ │ │ │ └── ReaderLongFieldTest.java
│ │ │ │ │ │ │ └── var/
│ │ │ │ │ │ │ └── TwoTypeTest.java
│ │ │ │ │ │ ├── error/
│ │ │ │ │ │ │ ├── JSONReaderError.java
│ │ │ │ │ │ │ ├── ParseErrorTest_10.java
│ │ │ │ │ │ │ ├── ParseErrorTest_11.java
│ │ │ │ │ │ │ ├── ParseErrorTest_12.java
│ │ │ │ │ │ │ ├── ParseErrorTest_13.java
│ │ │ │ │ │ │ ├── ParseErrorTest_14.java
│ │ │ │ │ │ │ ├── ParseErrorTest_15.java
│ │ │ │ │ │ │ ├── ParseErrorTest_16.java
│ │ │ │ │ │ │ ├── ParseErrorTest_17.java
│ │ │ │ │ │ │ ├── ParseErrorTest_18.java
│ │ │ │ │ │ │ ├── ParseErrorTest_19.java
│ │ │ │ │ │ │ ├── ParseErrorTest_20.java
│ │ │ │ │ │ │ ├── ParseErrorTest_21.java
│ │ │ │ │ │ │ ├── ParseErrorTest_8.java
│ │ │ │ │ │ │ ├── ParseErrorTest_9.java
│ │ │ │ │ │ │ ├── ParseErrorTest_date.java
│ │ │ │ │ │ │ └── TypeNotMatchError.java
│ │ │ │ │ │ ├── fieldTypeResolver/
│ │ │ │ │ │ │ └── FieldTypeResolverTest.java
│ │ │ │ │ │ ├── number/
│ │ │ │ │ │ │ ├── NumberEmtpyObjectTest.java
│ │ │ │ │ │ │ ├── NumberValueTest.java
│ │ │ │ │ │ │ ├── NumberValueTest2.java
│ │ │ │ │ │ │ ├── NumberValueTest3.java
│ │ │ │ │ │ │ ├── NumberValueTest4.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_0.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_1.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_10.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_11.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_12.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_13.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_2.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_3.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_4.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_5.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_6.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_7.java
│ │ │ │ │ │ │ ├── NumberValueTest_error_8.java
│ │ │ │ │ │ │ └── NumberValueTest_error_9.java
│ │ │ │ │ │ ├── str/
│ │ │ │ │ │ │ ├── EmptyStringTest.java
│ │ │ │ │ │ │ ├── StringTest_00.java
│ │ │ │ │ │ │ ├── StringTest_01.java
│ │ │ │ │ │ │ └── StringTest_02.java
│ │ │ │ │ │ ├── stream/
│ │ │ │ │ │ │ ├── JSONReaderScannerTest.java
│ │ │ │ │ │ │ ├── JSONReaderScannerTest_boolean.java
│ │ │ │ │ │ │ ├── JSONReaderScannerTest_chars.java
│ │ │ │ │ │ │ ├── JSONReaderScannerTest_enum.java
│ │ │ │ │ │ │ ├── JSONReaderScannerTest_matchField.java
│ │ │ │ │ │ │ ├── JSONReaderScannerTest_negative.java
│ │ │ │ │ │ │ ├── JSONReaderScannerTest_type.java
│ │ │ │ │ │ │ ├── JSONReaderTest.java
│ │ │ │ │ │ │ ├── JSONReaderTest_0.java
│ │ │ │ │ │ │ ├── JSONReaderTest_1.java
│ │ │ │ │ │ │ ├── JSONReaderTest_2.java
│ │ │ │ │ │ │ ├── JSONReaderTest_3.java
│ │ │ │ │ │ │ ├── JSONReaderTest_4.java
│ │ │ │ │ │ │ ├── JSONReaderTest_5.java
│ │ │ │ │ │ │ ├── JSONReaderTest_error.java
│ │ │ │ │ │ │ ├── JSONReaderTest_error2.java
│ │ │ │ │ │ │ ├── JSONReader_array.java
│ │ │ │ │ │ │ ├── JSONReader_map.java
│ │ │ │ │ │ │ ├── JSONReader_obj.java
│ │ │ │ │ │ │ ├── JSONReader_obj_2.java
│ │ │ │ │ │ │ ├── JSONReader_obj_3.java
│ │ │ │ │ │ │ ├── JSONReader_string.java
│ │ │ │ │ │ │ ├── JSONReader_string_1.java
│ │ │ │ │ │ │ └── JSONReader_typeRef.java
│ │ │ │ │ │ └── taobao/
│ │ │ │ │ │ ├── BooleanObjectFieldTest.java
│ │ │ │ │ │ ├── DoubleObjectFieldTest.java
│ │ │ │ │ │ ├── FloatObjectFieldTest.java
│ │ │ │ │ │ ├── IntAsStringTest.java
│ │ │ │ │ │ ├── IntegerAsStringTest.java
│ │ │ │ │ │ ├── LongAsStringTest.java
│ │ │ │ │ │ ├── LongObjectAsStringTest.java
│ │ │ │ │ │ └── SpecialStringTest.java
│ │ │ │ │ ├── path/
│ │ │ │ │ │ ├── BookEvalTest.java
│ │ │ │ │ │ ├── BookExtractTest.java
│ │ │ │ │ │ ├── DLATest_0.java
│ │ │ │ │ │ ├── DeepScanTest.java
│ │ │ │ │ │ ├── JSONPath_0.java
│ │ │ │ │ │ ├── JSONPath_1.java
│ │ │ │ │ │ ├── JSONPath_10_contains.java
│ │ │ │ │ │ ├── JSONPath_11.java
│ │ │ │ │ │ ├── JSONPath_12.java
│ │ │ │ │ │ ├── JSONPath_13.java
│ │ │ │ │ │ ├── JSONPath_14.java
│ │ │ │ │ │ ├── JSONPath_15.java
│ │ │ │ │ │ ├── JSONPath_16.java
│ │ │ │ │ │ ├── JSONPath_17.java
│ │ │ │ │ │ ├── JSONPath_2.java
│ │ │ │ │ │ ├── JSONPath_3.java
│ │ │ │ │ │ ├── JSONPath_4.java
│ │ │ │ │ │ ├── JSONPath_5.java
│ │ │ │ │ │ ├── JSONPath_6.java
│ │ │ │ │ │ ├── JSONPath_7.java
│ │ │ │ │ │ ├── JSONPath_8.java
│ │ │ │ │ │ ├── JSONPath_9.java
│ │ │ │ │ │ ├── JSONPath_array_length.java
│ │ │ │ │ │ ├── JSONPath_array_multi.java
│ │ │ │ │ │ ├── JSONPath_array_put.java
│ │ │ │ │ │ ├── JSONPath_array_put_2.java
│ │ │ │ │ │ ├── JSONPath_array_remove_0.java
│ │ │ │ │ │ ├── JSONPath_between_double.java
│ │ │ │ │ │ ├── JSONPath_between_int.java
│ │ │ │ │ │ ├── JSONPath_calenar_test.java
│ │ │ │ │ │ ├── JSONPath_conatinas_null.java
│ │ │ │ │ │ ├── JSONPath_containsValue.java
│ │ │ │ │ │ ├── JSONPath_containsValue_2.java
│ │ │ │ │ │ ├── JSONPath_containsValue_bigdecimal.java
│ │ │ │ │ │ ├── JSONPath_containsValue_biginteger.java
│ │ │ │ │ │ ├── JSONPath_containsValue_double.java
│ │ │ │ │ │ ├── JSONPath_deepScan_test.java
│ │ │ │ │ │ ├── JSONPath_deepScan_test2.java
│ │ │ │ │ │ ├── JSONPath_enum.java
│ │ │ │ │ │ ├── JSONPath_field_access.java
│ │ │ │ │ │ ├── JSONPath_field_access_filter_compare_int.java
│ │ │ │ │ │ ├── JSONPath_field_access_filter_compare_int_simple.java
│ │ │ │ │ │ ├── JSONPath_field_access_filter_compare_string.java
│ │ │ │ │ │ ├── JSONPath_field_access_filter_compare_string_simple.java
│ │ │ │ │ │ ├── JSONPath_field_access_filter_in_decimal.java
│ │ │ │ │ │ ├── JSONPath_field_access_filter_in_int.java
│ │ │ │ │ │ ├── JSONPath_field_access_filter_in_string.java
│ │ │ │ │ │ ├── JSONPath_field_access_filter_like.java
│ │ │ │ │ │ ├── JSONPath_field_access_filter_like_simple.java
│ │ │ │ │ │ ├── JSONPath_field_access_filter_notNull.java
│ │ │ │ │ │ ├── JSONPath_field_access_filter_rlike.java
│ │ │ │ │ │ ├── JSONPath_field_access_multi.java
│ │ │ │ │ │ ├── JSONPath_field_wildcard.java
│ │ │ │ │ │ ├── JSONPath_field_wildcard_filter.java
│ │ │ │ │ │ ├── JSONPath_field_wildcard_filter_double.java
│ │ │ │ │ │ ├── JSONPath_field_wildcard_filter_float.java
│ │ │ │ │ │ ├── JSONPath_issue1208.java
│ │ │ │ │ │ ├── JSONPath_keySet.java
│ │ │ │ │ │ ├── JSONPath_like.java
│ │ │ │ │ │ ├── JSONPath_list.java
│ │ │ │ │ │ ├── JSONPath_list_field.java
│ │ │ │ │ │ ├── JSONPath_list_multi.java
│ │ │ │ │ │ ├── JSONPath_list_range.java
│ │ │ │ │ │ ├── JSONPath_list_size.java
│ │ │ │ │ │ ├── JSONPath_list_size_1.java
│ │ │ │ │ │ ├── JSONPath_list_size_2.java
│ │ │ │ │ │ ├── JSONPath_list_size_3.java
│ │ │ │ │ │ ├── JSONPath_map_size.java
│ │ │ │ │ │ ├── JSONPath_max.java
│ │ │ │ │ │ ├── JSONPath_min.java
│ │ │ │ │ │ ├── JSONPath_none_root.java
│ │ │ │ │ │ ├── JSONPath_object_filter.java
│ │ │ │ │ │ ├── JSONPath_oracle_compatible_test.java
│ │ │ │ │ │ ├── JSONPath_paths_test.java
│ │ │ │ │ │ ├── JSONPath_paths_test1.java
│ │ │ │ │ │ ├── JSONPath_paths_test2.java
│ │ │ │ │ │ ├── JSONPath_paths_test3.java
│ │ │ │ │ │ ├── JSONPath_paths_test4.java
│ │ │ │ │ │ ├── JSONPath_paths_test5.java
│ │ │ │ │ │ ├── JSONPath_remove_test.java
│ │ │ │ │ │ ├── JSONPath_reverse_test.java
│ │ │ │ │ │ ├── JSONPath_set.java
│ │ │ │ │ │ ├── JSONPath_set_test2.java
│ │ │ │ │ │ ├── JSONPath_set_test3.java
│ │ │ │ │ │ ├── JSONPath_set_test4.java
│ │ │ │ │ │ ├── JSONPath_set_test5.java
│ │ │ │ │ │ ├── JSONPath_set_test6.java
│ │ │ │ │ │ ├── JSONPath_set_test7.java
│ │ │ │ │ │ ├── JSONPath_size.java
│ │ │ │ │ │ ├── JSONPath_toString.java
│ │ │ │ │ │ ├── JSONPointTest_0.java
│ │ │ │ │ │ ├── JSONPointTest_1.java
│ │ │ │ │ │ ├── TestSpecial_0.java
│ │ │ │ │ │ ├── TestSpecial_1.java
│ │ │ │ │ │ ├── TestSpecial_2.java
│ │ │ │ │ │ ├── TestSpecial_3.java
│ │ │ │ │ │ ├── TestSpecial_4.java
│ │ │ │ │ │ └── extract/
│ │ │ │ │ │ ├── JSONPath_extract_0.java
│ │ │ │ │ │ ├── JSONPath_extract_1.java
│ │ │ │ │ │ ├── JSONPath_extract_2_book.java
│ │ │ │ │ │ ├── JSONPath_extract_3.java
│ │ │ │ │ │ └── JSONPath_extract_4_multi.java
│ │ │ │ │ ├── proxy/
│ │ │ │ │ │ └── TestProxy.java
│ │ │ │ │ ├── ref/
│ │ │ │ │ │ ├── RefTest.java
│ │ │ │ │ │ ├── RefTest10.java
│ │ │ │ │ │ ├── RefTest11.java
│ │ │ │ │ │ ├── RefTest12.java
│ │ │ │ │ │ ├── RefTest13.java
│ │ │ │ │ │ ├── RefTest14.java
│ │ │ │ │ │ ├── RefTest15.java
│ │ │ │ │ │ ├── RefTest16.java
│ │ │ │ │ │ ├── RefTest17.java
│ │ │ │ │ │ ├── RefTest18.java
│ │ │ │ │ │ ├── RefTest19.java
│ │ │ │ │ │ ├── RefTest2.java
│ │ │ │ │ │ ├── RefTest20.java
│ │ │ │ │ │ ├── RefTest21.java
│ │ │ │ │ │ ├── RefTest22.java
│ │ │ │ │ │ ├── RefTest23.java
│ │ │ │ │ │ ├── RefTest24.java
│ │ │ │ │ │ ├── RefTest3.java
│ │ │ │ │ │ ├── RefTest4.java
│ │ │ │ │ │ ├── RefTest5.java
│ │ │ │ │ │ ├── RefTest6.java
│ │ │ │ │ │ ├── RefTest7.java
│ │ │ │ │ │ ├── RefTest8.java
│ │ │ │ │ │ ├── RefTest9.java
│ │ │ │ │ │ └── RefTest_for_huanxige.java
│ │ │ │ │ ├── serializer/
│ │ │ │ │ │ ├── AbstractTest.java
│ │ │ │ │ │ ├── BooleanArraySerializerTest.java
│ │ │ │ │ │ ├── BooleanFieldSerializerTest.java
│ │ │ │ │ │ ├── BooleanFieldSerializerTest_primitive.java
│ │ │ │ │ │ ├── BooleanFieldTest.java
│ │ │ │ │ │ ├── BooleanFieldTest2.java
│ │ │ │ │ │ ├── BooleanFieldTest3.java
│ │ │ │ │ │ ├── BooleanFieldTest_array.java
│ │ │ │ │ │ ├── BugTest0.java
│ │ │ │ │ │ ├── BugTest1.java
│ │ │ │ │ │ ├── BugTest2.java
│ │ │ │ │ │ ├── Bug_for_yegaofei.java
│ │ │ │ │ │ ├── ByteArrayFieldSerializerTest.java
│ │ │ │ │ │ ├── ByteArraySerializerTest.java
│ │ │ │ │ │ ├── ByteArrayTest.java
│ │ │ │ │ │ ├── CharArraySerializerTest.java
│ │ │ │ │ │ ├── CharTest.java
│ │ │ │ │ │ ├── CharsetSerializerTest.java
│ │ │ │ │ │ ├── CharsetTest.java
│ │ │ │ │ │ ├── CircularReferencesTest.java
│ │ │ │ │ │ ├── ClassFieldTest.java
│ │ │ │ │ │ ├── ClassLoaderTest.java
│ │ │ │ │ │ ├── ClobSerializerTest.java
│ │ │ │ │ │ ├── CollectionSerializerTest.java
│ │ │ │ │ │ ├── ColorSerializerTest.java
│ │ │ │ │ │ ├── ConcurrentHashMapTest.java
│ │ │ │ │ │ ├── ConcurrentHashMapTest2.java
│ │ │ │ │ │ ├── ConcurrentHashMapTest3.java
│ │ │ │ │ │ ├── ConcurrentHashMapTest4.java
│ │ │ │ │ │ ├── ConcurrentHashMapTest5.java
│ │ │ │ │ │ ├── ConcurrentHashMapTest6.java
│ │ │ │ │ │ ├── ConcurrentHashMapTest7.java
│ │ │ │ │ │ ├── DateFormatSerializerTest.java
│ │ │ │ │ │ ├── DoubleArraySerializerTest.java
│ │ │ │ │ │ ├── DoubleFormatTest.java
│ │ │ │ │ │ ├── DoubleFormatTest2.java
│ │ │ │ │ │ ├── DoubleTest.java
│ │ │ │ │ │ ├── DoubleTest_custom.java
│ │ │ │ │ │ ├── DoubleTest_custom2.java
│ │ │ │ │ │ ├── DupSetterTest.java
│ │ │ │ │ │ ├── DupSetterTest2.java
│ │ │ │ │ │ ├── DupSetterTest3.java
│ │ │ │ │ │ ├── DupSetterTest4.java
│ │ │ │ │ │ ├── DupSetterTest5.java
│ │ │ │ │ │ ├── DupSetterTest6.java
│ │ │ │ │ │ ├── EnumerationSeriliazerTest.java
│ │ │ │ │ │ ├── ErrorGetterTest.java
│ │ │ │ │ │ ├── ErrorTest.java
│ │ │ │ │ │ ├── ExtendsTest.java
│ │ │ │ │ │ ├── FieldOrderTest.java
│ │ │ │ │ │ ├── FileTest.java
│ │ │ │ │ │ ├── FloatArraySerializerTest.java
│ │ │ │ │ │ ├── FloatFormatTest.java
│ │ │ │ │ │ ├── FloatFormatTest2.java
│ │ │ │ │ │ ├── FloatTest.java
│ │ │ │ │ │ ├── FontSerializerTest.java
│ │ │ │ │ │ ├── GenericTypeNotMatchTest.java
│ │ │ │ │ │ ├── GenericTypeNotMatchTest2.java
│ │ │ │ │ │ ├── GenericTypeTest.java
│ │ │ │ │ │ ├── GenericTypeTest2.java
│ │ │ │ │ │ ├── IgnoreGetMethodTest.java
│ │ │ │ │ │ ├── IgnoreNonFieldGetterTest.java
│ │ │ │ │ │ ├── IgnoreNonFieldGetterTest2.java
│ │ │ │ │ │ ├── IgoreGetterTest.java
│ │ │ │ │ │ ├── InetAddressTest.java
│ │ │ │ │ │ ├── InetSocketAddressTest.java
│ │ │ │ │ │ ├── IntArrayEncodeTest.java
│ │ │ │ │ │ ├── IntFieldTest.java
│ │ │ │ │ │ ├── IntFieldTest2.java
│ │ │ │ │ │ ├── IntegerArrayEncodeTest.java
│ │ │ │ │ │ ├── IntegerArrayFieldSerializerTest.java
│ │ │ │ │ │ ├── IntegerSerializerTest.java
│ │ │ │ │ │ ├── InterfaceTest.java
│ │ │ │ │ │ ├── JSONFieldTest.java
│ │ │ │ │ │ ├── JSONFieldTest2.java
│ │ │ │ │ │ ├── JSONFieldTest3.java
│ │ │ │ │ │ ├── JSONFieldTest4.java
│ │ │ │ │ │ ├── JSONFieldTest5.java
│ │ │ │ │ │ ├── JSONFieldTest6.java
│ │ │ │ │ │ ├── JSONFieldTest_unwrapped_0.java
│ │ │ │ │ │ ├── JSONFieldTest_unwrapped_1.java
│ │ │ │ │ │ ├── JSONFieldTest_unwrapped_2.java
│ │ │ │ │ │ ├── JSONFieldTest_unwrapped_3.java
│ │ │ │ │ │ ├── JSONFieldTest_unwrapped_4.java
│ │ │ │ │ │ ├── JSONFieldTest_unwrapped_5.java
│ │ │ │ │ │ ├── JSONFieldTest_unwrapped_6.java
│ │ │ │ │ │ ├── JSONFieldTest_unwrapped_7.java
│ │ │ │ │ │ ├── JSONObjectOrderTest.java
│ │ │ │ │ │ ├── JSONSerializerDeprecatedTest.java
│ │ │ │ │ │ ├── JSONSerializerFeatureTest.java
│ │ │ │ │ │ ├── JSONSerializerMapTest.java
│ │ │ │ │ │ ├── JSONSerializerTest.java
│ │ │ │ │ │ ├── JSONSerializerTest1.java
│ │ │ │ │ │ ├── JSONSerializerTest2.java
│ │ │ │ │ │ ├── JSONSerializerTest3.java
│ │ │ │ │ │ ├── JSONTypeIncludesTest.java
│ │ │ │ │ │ ├── JavaBeanSerializerTest.java
│ │ │ │ │ │ ├── JavaBeanSerializerTest2.java
│ │ │ │ │ │ ├── ListFieldTest.java
│ │ │ │ │ │ ├── ListSerializerTest.java
│ │ │ │ │ │ ├── ListSerializerTest2.java
│ │ │ │ │ │ ├── ListSerializerTest3.java
│ │ │ │ │ │ ├── ListTest.java
│ │ │ │ │ │ ├── LocalTest.java
│ │ │ │ │ │ ├── LongArraySerializerTest.java
│ │ │ │ │ │ ├── MapSerializerTest.java
│ │ │ │ │ │ ├── MapTest.java
│ │ │ │ │ │ ├── MaxBufSizeTest.java
│ │ │ │ │ │ ├── MaxBufSizeTest2.java
│ │ │ │ │ │ ├── MultiFieldIntTest_writer.java
│ │ │ │ │ │ ├── MultiFieldIntTest_writer2.java
│ │ │ │ │ │ ├── NoneStringKeyTest.java
│ │ │ │ │ │ ├── NotWriteDefaultValueTest.java
│ │ │ │ │ │ ├── NotWriteDefaultValueTest_NoneASM.java
│ │ │ │ │ │ ├── ObjectArraySerializerTest.java
│ │ │ │ │ │ ├── ObjectSerializerTest.java
│ │ │ │ │ │ ├── ObjectWriteTest.java
│ │ │ │ │ │ ├── ParserConfigTest.java
│ │ │ │ │ │ ├── PascalNameFilterTest.java
│ │ │ │ │ │ ├── PascalNameFilterTest_1.java
│ │ │ │ │ │ ├── PatternTest.java
│ │ │ │ │ │ ├── PointSerializerTest.java
│ │ │ │ │ │ ├── PrePropertyFilterTest.java
│ │ │ │ │ │ ├── PrettyFormatTest.java
│ │ │ │ │ │ ├── PrettyFormatTest2.java
│ │ │ │ │ │ ├── PrimitiveTest.java
│ │ │ │ │ │ ├── ProxyTest.java
│ │ │ │ │ │ ├── ProxyTest2.java
│ │ │ │ │ │ ├── RectangleSerializerTest.java
│ │ │ │ │ │ ├── ReferenceDeserializerTest.java
│ │ │ │ │ │ ├── SerialContextTest.java
│ │ │ │ │ │ ├── SerialWriterStringEncoderTest2.java
│ │ │ │ │ │ ├── SerialWriterTest.java
│ │ │ │ │ │ ├── SerializeConfigTest.java
│ │ │ │ │ │ ├── SerializeConfigTest2.java
│ │ │ │ │ │ ├── SerializeConfigTest2_private.java
│ │ │ │ │ │ ├── SerializeWriterTest.java
│ │ │ │ │ │ ├── SerializeWriterTest_1.java
│ │ │ │ │ │ ├── SerializeWriterTest_10.java
│ │ │ │ │ │ ├── SerializeWriterTest_11.java
│ │ │ │ │ │ ├── SerializeWriterTest_12.java
│ │ │ │ │ │ ├── SerializeWriterTest_13.java
│ │ │ │ │ │ ├── SerializeWriterTest_14.java
│ │ │ │ │ │ ├── SerializeWriterTest_15.java
│ │ │ │ │ │ ├── SerializeWriterTest_16.java
│ │ │ │ │ │ ├── SerializeWriterTest_17.java
│ │ │ │ │ │ ├── SerializeWriterTest_18.java
│ │ │ │ │ │ ├── SerializeWriterTest_19.java
│ │ │ │ │ │ ├── SerializeWriterTest_2.java
│ │ │ │ │ │ ├── SerializeWriterTest_3.java
│ │ │ │ │ │ ├── SerializeWriterTest_4.java
│ │ │ │ │ │ ├── SerializeWriterTest_5.java
│ │ │ │ │ │ ├── SerializeWriterTest_6.java
│ │ │ │ │ │ ├── SerializeWriterTest_7.java
│ │ │ │ │ │ ├── SerializeWriterTest_8.java
│ │ │ │ │ │ ├── SerializeWriterTest_9.java
│ │ │ │ │ │ ├── SerializeWriterTest_BrowserSecure.java
│ │ │ │ │ │ ├── SerializeWriterTest_BrowserSecure3.java
│ │ │ │ │ │ ├── SerializeWriterTest_BrowserSecure_4_script.java
│ │ │ │ │ │ ├── SerializeWriterTest_BrowserSecure_5_script_model.java
│ │ │ │ │ │ ├── SerializeWriterTest_BrowserSecure_6_name_script.java
│ │ │ │ │ │ ├── SerializerFeatureTest.java
│ │ │ │ │ │ ├── SerilaizeFilterTest.java
│ │ │ │ │ │ ├── ShortArraySerializerTest.java
│ │ │ │ │ │ ├── ShortFieldSerializerTest.java
│ │ │ │ │ │ ├── ShortSerializerTest.java
│ │ │ │ │ │ ├── SimpleDataFormatSerializerTest.java
│ │ │ │ │ │ ├── SimplePropertyPreFilterTest.java
│ │ │ │ │ │ ├── SpecialTest.java
│ │ │ │ │ │ ├── SpecicalStringTest.java
│ │ │ │ │ │ ├── StringArraySerializerTest.java
│ │ │ │ │ │ ├── StringSerializerTest.java
│ │ │ │ │ │ ├── TestInnerClass.java
│ │ │ │ │ │ ├── TestInnerClass1.java
│ │ │ │ │ │ ├── TestInnerClass2.java
│ │ │ │ │ │ ├── TestPivateStaticClass.java
│ │ │ │ │ │ ├── TestSortField.java
│ │ │ │ │ │ ├── TestSpecial.java
│ │ │ │ │ │ ├── TestSpecial2.java
│ │ │ │ │ │ ├── TestSpecial3.java
│ │ │ │ │ │ ├── TestSpecial4.java
│ │ │ │ │ │ ├── TestSpecial5.java
│ │ │ │ │ │ ├── TestSpecial6.java
│ │ │ │ │ │ ├── TestSpecial_entity.java
│ │ │ │ │ │ ├── TestSpecial_map.java
│ │ │ │ │ │ ├── TimeZoneTest.java
│ │ │ │ │ │ ├── TransientTest.java
│ │ │ │ │ │ ├── TreeSetTest.java
│ │ │ │ │ │ ├── URITest.java
│ │ │ │ │ │ ├── URLTest.java
│ │ │ │ │ │ ├── UUIDTest.java
│ │ │ │ │ │ ├── UnicodeTest.java
│ │ │ │ │ │ ├── WriteClassNameTest.java
│ │ │ │ │ │ ├── WriteNullListAsEmptyTest.java
│ │ │ │ │ │ ├── WriteSlashAsSpecialTest.java
│ │ │ │ │ │ ├── date/
│ │ │ │ │ │ │ ├── DateTest.java
│ │ │ │ │ │ │ ├── DateTest2.java
│ │ │ │ │ │ │ ├── DateTest3.java
│ │ │ │ │ │ │ ├── DateTest4.java
│ │ │ │ │ │ │ ├── DateTest4_indian.java
│ │ │ │ │ │ │ ├── DateTest5_iso8601.java
│ │ │ │ │ │ │ ├── DateTest_ISO8601_OneLetterISO8601TimeZone.java
│ │ │ │ │ │ │ ├── DateTest_ISO8601_ThreeLetterISO8601TimeZone.java
│ │ │ │ │ │ │ ├── DateTest_ISO8601_TimeZone.java
│ │ │ │ │ │ │ ├── DateTest_ISO8601_TwoLetterISO8601TimeZone.java
│ │ │ │ │ │ │ └── DateTest_ISO8601_UTCTime.java
│ │ │ │ │ │ ├── enum_/
│ │ │ │ │ │ │ ├── EnumCustomCodecTest.java
│ │ │ │ │ │ │ ├── EnumFieldsTest.java
│ │ │ │ │ │ │ ├── EnumFieldsTest2.java
│ │ │ │ │ │ │ ├── EnumFieldsTest3.java
│ │ │ │ │ │ │ ├── EnumFieldsTest4.java
│ │ │ │ │ │ │ ├── EnumFieldsTest5.java
│ │ │ │ │ │ │ ├── EnumFieldsTest6.java
│ │ │ │ │ │ │ ├── EnumFieldsTest7.java
│ │ │ │ │ │ │ ├── EnumFieldsTest8.java
│ │ │ │ │ │ │ ├── EnumOrdinalTest.java
│ │ │ │ │ │ │ ├── EnumTest.java
│ │ │ │ │ │ │ ├── EnumTest2.java
│ │ │ │ │ │ │ ├── EnumTest3.java
│ │ │ │ │ │ │ ├── EnumTest4.java
│ │ │ │ │ │ │ ├── EnumUsingToString.java
│ │ │ │ │ │ │ └── EnumUsingToString_JSONType.java
│ │ │ │ │ │ ├── exception/
│ │ │ │ │ │ │ ├── ExceptionTest.java
│ │ │ │ │ │ │ └── RuntimeExceptionTest.java
│ │ │ │ │ │ ├── features/
│ │ │ │ │ │ │ ├── JSONDirectTest.java
│ │ │ │ │ │ │ ├── JSONDirectTest_number.java
│ │ │ │ │ │ │ ├── JSONDirectTest_private.java
│ │ │ │ │ │ │ ├── MapSortFieldTest.java
│ │ │ │ │ │ │ ├── NotWriteDefaultValueFieldTest.java
│ │ │ │ │ │ │ ├── NotWriteDefaultValueFieldTest2.java
│ │ │ │ │ │ │ ├── WriteBigDecimalAsPlainTest.java
│ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestBooleanField.java
│ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestByteField.java
│ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestByteObjectField.java
│ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestDoubleField.java
│ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestFloatField.java
│ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestFloatField2.java
│ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestIntField.java
│ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestIntegerField.java
│ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestLongField.java
│ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestMap.java
│ │ │ │ │ │ │ └── WriteNonStringValueAsStringTestShortField.java
│ │ │ │ │ │ ├── fieldbase/
│ │ │ │ │ │ │ ├── FieldBaseTest0.java
│ │ │ │ │ │ │ └── FieldBaseTest1.java
│ │ │ │ │ │ ├── filters/
│ │ │ │ │ │ │ ├── AfterFilterClassLevelTest.java
│ │ │ │ │ │ │ ├── AfterFilterClassLevelTest_private.java
│ │ │ │ │ │ │ ├── AfterFilterTest.java
│ │ │ │ │ │ │ ├── AfterFilterTest2.java
│ │ │ │ │ │ │ ├── AfterFilterTest3.java
│ │ │ │ │ │ │ ├── AppendableTest.java
│ │ │ │ │ │ │ ├── ArraySerializerTest.java
│ │ │ │ │ │ │ ├── BeforeFilterClassLevelTest.java
│ │ │ │ │ │ │ ├── BeforeFilterClassLevelTest_private.java
│ │ │ │ │ │ │ ├── BeforeFilterTest.java
│ │ │ │ │ │ │ ├── BeforeFilterTest2.java
│ │ │ │ │ │ │ ├── BeforeFilterTest3.java
│ │ │ │ │ │ │ ├── ClassLevelFeatureConfigTest.java
│ │ │ │ │ │ │ ├── ClassLevelFeatureConfigTest2.java
│ │ │ │ │ │ │ ├── ClassLevelFeatureConfigTest3.java
│ │ │ │ │ │ │ ├── ClassLevelFeatureConfigTest_private.java
│ │ │ │ │ │ │ ├── ClassNameFilterTest.java
│ │ │ │ │ │ │ ├── ClassNameFilterTest_private.java
│ │ │ │ │ │ │ ├── ContextValueClassLevelTest.java
│ │ │ │ │ │ │ ├── MTopFilterTest.java
│ │ │ │ │ │ │ ├── NameFilterClassLevelTest.java
│ │ │ │ │ │ │ ├── NameFilterClassLevelTest_private.java
│ │ │ │ │ │ │ ├── NameFilterTest.java
│ │ │ │ │ │ │ ├── NameFilterTest_IntegerKey.java
│ │ │ │ │ │ │ ├── NameFilterTest_boolean.java
│ │ │ │ │ │ │ ├── NameFilterTest_boolean_field.java
│ │ │ │ │ │ │ ├── NameFilterTest_byte.java
│ │ │ │ │ │ │ ├── NameFilterTest_byte_field.java
│ │ │ │ │ │ │ ├── NameFilterTest_char.java
│ │ │ │ │ │ │ ├── NameFilterTest_double.java
│ │ │ │ │ │ │ ├── NameFilterTest_double_field.java
│ │ │ │ │ │ │ ├── NameFilterTest_float.java
│ │ │ │ │ │ │ ├── NameFilterTest_float_field.java
│ │ │ │ │ │ │ ├── NameFilterTest_int.java
│ │ │ │ │ │ │ ├── NameFilterTest_int_field.java
│ │ │ │ │ │ │ ├── NameFilterTest_long.java
│ │ │ │ │ │ │ ├── NameFilterTest_long_field.java
│ │ │ │ │ │ │ ├── NameFilterTest_short.java
│ │ │ │ │ │ │ ├── NameFilterTest_short_field.java
│ │ │ │ │ │ │ ├── PropertyFilterClassLevelTest.java
│ │ │ │ │ │ │ ├── PropertyFilterClassLevelTest_private.java
│ │ │ │ │ │ │ ├── PropertyFilterTest.java
│ │ │ │ │ │ │ ├── PropertyFilterTest2.java
│ │ │ │ │ │ │ ├── PropertyFilter_bool_field.java
│ │ │ │ │ │ │ ├── PropertyFilter_byte.java
│ │ │ │ │ │ │ ├── PropertyFilter_char.java
│ │ │ │ │ │ │ ├── PropertyFilter_double.java
│ │ │ │ │ │ │ ├── PropertyFilter_float.java
│ │ │ │ │ │ │ ├── PropertyFilter_int_field.java
│ │ │ │ │ │ │ ├── PropertyFilter_long.java
│ │ │ │ │ │ │ ├── PropertyFilter_long_field.java
│ │ │ │ │ │ │ ├── PropertyFilter_short.java
│ │ │ │ │ │ │ ├── PropertyPathTest.java
│ │ │ │ │ │ │ ├── PropertyPathTest2.java
│ │ │ │ │ │ │ ├── PropertyPathTest3.java
│ │ │ │ │ │ │ ├── PropertyPreFilterClassLevelTest.java
│ │ │ │ │ │ │ ├── PropertyPreFilterClassLevelTest_private.java
│ │ │ │ │ │ │ ├── PropertyPrefFilterTest_IntegerKey.java
│ │ │ │ │ │ │ ├── ValueClassLevelTest.java
│ │ │ │ │ │ │ ├── ValueClassLevelTest_private.java
│ │ │ │ │ │ │ ├── ValueFilterTest.java
│ │ │ │ │ │ │ ├── ValueFilterTest_IntegerKey.java
│ │ │ │ │ │ │ ├── ValueFilterTest_field.java
│ │ │ │ │ │ │ ├── ValueFilterTest_field_boolean.java
│ │ │ │ │ │ │ ├── ValueFilterTest_field_int.java
│ │ │ │ │ │ │ └── ValueFilterTest_field_long.java
│ │ │ │ │ │ ├── label/
│ │ │ │ │ │ │ ├── LabelIncludeTest.java
│ │ │ │ │ │ │ ├── LabelIncludeTest2.java
│ │ │ │ │ │ │ └── LabelIncludeTest3.java
│ │ │ │ │ │ ├── prettyFormat/
│ │ │ │ │ │ │ ├── ArrayListFieldTest.java
│ │ │ │ │ │ │ └── ArrayListTest.java
│ │ │ │ │ │ ├── stream/
│ │ │ │ │ │ │ ├── StreamWriterTest_writeArray.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeArray2.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeBytes.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeBytes1.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeChar.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeChar1.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_bool.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_int.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_int_1.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_long.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_string.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_string_singQuote.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeInt.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeIntAndChar.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeJSONStringTo.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeLong.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeLongAndChar.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeString.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeString1.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeValueString.java
│ │ │ │ │ │ │ ├── StreamWriterTest_writeValueString1.java
│ │ │ │ │ │ │ └── StreamWriterTest_writeValueString2.java
│ │ │ │ │ │ └── writeJSONStringToTest.java
│ │ │ │ │ ├── stream/
│ │ │ │ │ │ ├── JSONWriterTest.java
│ │ │ │ │ │ ├── JSONWriterTest_0.java
│ │ │ │ │ │ ├── JSONWriterTest_1.java
│ │ │ │ │ │ ├── JSONWriterTest_2.java
│ │ │ │ │ │ ├── JSONWriterTest_3.java
│ │ │ │ │ │ ├── JSONWriterTest_4.java
│ │ │ │ │ │ ├── JSONWriterTest_5.java
│ │ │ │ │ │ ├── JSONWriterTest_6.java
│ │ │ │ │ │ ├── JSONWriterTest_error.java
│ │ │ │ │ │ └── LargeTest.java
│ │ │ │ │ ├── support/
│ │ │ │ │ │ ├── FastJsonConfigTest.java
│ │ │ │ │ │ ├── hsf/
│ │ │ │ │ │ │ ├── HSFJSONUtilsTest_0.java
│ │ │ │ │ │ │ ├── HSFJSONUtilsTest_1.java
│ │ │ │ │ │ │ ├── HSFJSONUtilsTest_2.java
│ │ │ │ │ │ │ ├── HSFJSONUtilsTest_3.java
│ │ │ │ │ │ │ └── HSFJSONUtilsTest_4.java
│ │ │ │ │ │ ├── jaxrs/
│ │ │ │ │ │ │ ├── FastJsonProviderTest.java
│ │ │ │ │ │ │ └── mock/
│ │ │ │ │ │ │ ├── entity/
│ │ │ │ │ │ │ │ ├── FastJsonParentTestVO.java
│ │ │ │ │ │ │ │ ├── FastJsonSonTestVO.java
│ │ │ │ │ │ │ │ └── FastJsonTestVO.java
│ │ │ │ │ │ │ ├── service/
│ │ │ │ │ │ │ │ ├── FastJsonRestfulServiceTest.java
│ │ │ │ │ │ │ │ └── FastJsonRestfulServiceTestImpl.java
│ │ │ │ │ │ │ └── testcase/
│ │ │ │ │ │ │ └── FastJsonProviderTest.java
│ │ │ │ │ │ ├── moneta/
│ │ │ │ │ │ │ ├── MoneyNumberTest.java
│ │ │ │ │ │ │ └── MoneyTest.java
│ │ │ │ │ │ ├── oracle/
│ │ │ │ │ │ │ ├── TestOracleDATE.java
│ │ │ │ │ │ │ └── TestOracleTIMESTAMP.java
│ │ │ │ │ │ ├── retrofit/
│ │ │ │ │ │ │ └── Retrofit2ConverterFactoryTest0.java
│ │ │ │ │ │ ├── spring/
│ │ │ │ │ │ │ ├── FastJsonHttpMessageConverter4Test.java
│ │ │ │ │ │ │ ├── FastJsonHttpMessageConverterTest.java
│ │ │ │ │ │ │ ├── FastJsonJsonViewTest.java
│ │ │ │ │ │ │ ├── FastJsonRedisSerializerTest.java
│ │ │ │ │ │ │ ├── FastJsonpHttpMessageConverter4Test.java
│ │ │ │ │ │ │ ├── FastjsonSockJsMessageCodecTest_encode.java
│ │ │ │ │ │ │ ├── GenericFastJsonRedisSerializerTest.java
│ │ │ │ │ │ │ ├── data/
│ │ │ │ │ │ │ │ └── PageToJSONTest.java
│ │ │ │ │ │ │ ├── messaging/
│ │ │ │ │ │ │ │ └── MappingFastJsonMessageConverterTest.java
│ │ │ │ │ │ │ ├── mock/
│ │ │ │ │ │ │ │ ├── controller/
│ │ │ │ │ │ │ │ │ ├── FastJsonControllerTest.java
│ │ │ │ │ │ │ │ │ ├── FastJsonViewAndJSONPControllerTest.java
│ │ │ │ │ │ │ │ │ └── FastJsonViewControllerTest.java
│ │ │ │ │ │ │ │ ├── entity/
│ │ │ │ │ │ │ │ │ ├── FastJsonEnumTestVO.java
│ │ │ │ │ │ │ │ │ ├── FastJsonGenericityTestVO.java
│ │ │ │ │ │ │ │ │ ├── FastJsonParentTestVO.java
│ │ │ │ │ │ │ │ │ ├── FastJsonSonTestVO.java
│ │ │ │ │ │ │ │ │ └── FastJsonTestVO.java
│ │ │ │ │ │ │ │ └── testcase/
│ │ │ │ │ │ │ │ ├── FastJsonHttpMessageConverter4Test.java
│ │ │ │ │ │ │ │ ├── FastJsonHttpMessageConverterCase2Test.java
│ │ │ │ │ │ │ │ ├── FastJsonHttpMessageConverterJSONPCaseTest.java
│ │ │ │ │ │ │ │ ├── FastJsonHttpMessageConverterTest.java
│ │ │ │ │ │ │ │ ├── FastJsonJsonViewTest.java
│ │ │ │ │ │ │ │ ├── FastJsonViewTest.java
│ │ │ │ │ │ │ │ ├── FastJsonpHttpMessageConverter4Case1Test.java
│ │ │ │ │ │ │ │ ├── FastJsonpHttpMessageConverter4Case2Test.java
│ │ │ │ │ │ │ │ └── FastJsonpHttpMessageConverter4Case3Test.java
│ │ │ │ │ │ │ └── security/
│ │ │ │ │ │ │ ├── DefaultOAuth2AccessTokenTest.java
│ │ │ │ │ │ │ └── DefaultSavedRequestTest.java
│ │ │ │ │ │ └── springfox/
│ │ │ │ │ │ └── JsonValueTest.java
│ │ │ │ │ ├── taobao/
│ │ │ │ │ │ ├── ItemUpdateDOTest.java
│ │ │ │ │ │ ├── MTopTest.java
│ │ │ │ │ │ └── TradeTest.java
│ │ │ │ │ ├── typeRef/
│ │ │ │ │ │ ├── TypeReferenceTest.java
│ │ │ │ │ │ ├── TypeReferenceTest10.java
│ │ │ │ │ │ ├── TypeReferenceTest11.java
│ │ │ │ │ │ ├── TypeReferenceTest12.java
│ │ │ │ │ │ ├── TypeReferenceTest13.java
│ │ │ │ │ │ ├── TypeReferenceTest14.java
│ │ │ │ │ │ ├── TypeReferenceTest2.java
│ │ │ │ │ │ ├── TypeReferenceTest3.java
│ │ │ │ │ │ ├── TypeReferenceTest4.java
│ │ │ │ │ │ ├── TypeReferenceTest5.java
│ │ │ │ │ │ ├── TypeReferenceTest6.java
│ │ │ │ │ │ ├── TypeReferenceTest7.java
│ │ │ │ │ │ ├── TypeReferenceTest8.java
│ │ │ │ │ │ └── TypeReferenceTest9.java
│ │ │ │ │ ├── util/
│ │ │ │ │ │ ├── AntiCollisionHashMapTest.java
│ │ │ │ │ │ ├── AntiCollisionHashMapTest_writeClassName.java
│ │ │ │ │ │ ├── Base64Test.java
│ │ │ │ │ │ ├── FieldInfoTest.java
│ │ │ │ │ │ ├── GenericFieldInfoTest.java
│ │ │ │ │ │ ├── GenericFieldInfoTest2.java
│ │ │ │ │ │ ├── IOUtilsTest.java
│ │ │ │ │ │ ├── JSONASMUtilTest.java
│ │ │ │ │ │ ├── JavaBeanInfoTest.java
│ │ │ │ │ │ ├── RyuDoubleTest.java
│ │ │ │ │ │ ├── RyuFloatTest.java
│ │ │ │ │ │ ├── ThreadLocalCacheTest.java
│ │ │ │ │ │ ├── TypeUtilsCastLinkedHashMap.java
│ │ │ │ │ │ ├── TypeUtilsTest.java
│ │ │ │ │ │ └── UTF8DecoderTest.java
│ │ │ │ │ ├── validate/
│ │ │ │ │ │ └── JSONValidatorTest.java
│ │ │ │ │ ├── value/
│ │ │ │ │ │ └── LongValueTest.java
│ │ │ │ │ ├── writeAsArray/
│ │ │ │ │ │ ├── WriteAsArray_0_private.java
│ │ │ │ │ │ ├── WriteAsArray_0_public.java
│ │ │ │ │ │ ├── WriteAsArray_Eishay.java
│ │ │ │ │ │ ├── WriteAsArray_Eishay_Image.java
│ │ │ │ │ │ ├── WriteAsArray_Eishay_Media.java
│ │ │ │ │ │ ├── WriteAsArray_Object.java
│ │ │ │ │ │ ├── WriteAsArray_Object_2_public.java
│ │ │ │ │ │ ├── WriteAsArray_Object_public.java
│ │ │ │ │ │ ├── WriteAsArray_boolean_public.java
│ │ │ │ │ │ ├── WriteAsArray_byte_public.java
│ │ │ │ │ │ ├── WriteAsArray_char_public.java
│ │ │ │ │ │ ├── WriteAsArray_double_private.java
│ │ │ │ │ │ ├── WriteAsArray_double_public.java
│ │ │ │ │ │ ├── WriteAsArray_enum_public.java
│ │ │ │ │ │ ├── WriteAsArray_float2_private.java
│ │ │ │ │ │ ├── WriteAsArray_float2_public.java
│ │ │ │ │ │ ├── WriteAsArray_float_public.java
│ │ │ │ │ │ ├── WriteAsArray_int_public.java
│ │ │ │ │ │ ├── WriteAsArray_jsonType.java
│ │ │ │ │ │ ├── WriteAsArray_list_obj_first_public.java
│ │ │ │ │ │ ├── WriteAsArray_list_obj_public.java
│ │ │ │ │ │ ├── WriteAsArray_list_public.java
│ │ │ │ │ │ ├── WriteAsArray_long_private.java
│ │ │ │ │ │ ├── WriteAsArray_long_public.java
│ │ │ │ │ │ ├── WriteAsArray_long_stream_public.java
│ │ │ │ │ │ ├── WriteAsArray_short_public.java
│ │ │ │ │ │ ├── WriteAsArray_string.java
│ │ │ │ │ │ ├── WriteAsArray_string_special.java
│ │ │ │ │ │ ├── WriteAsArray_string_special_2.java
│ │ │ │ │ │ └── WriteAsArray_string_special_Reader.java
│ │ │ │ │ └── writeClassName/
│ │ │ │ │ ├── MapTest.java
│ │ │ │ │ ├── StrictAutoTypeTest_0.java
│ │ │ │ │ ├── WriteClassNameTest.java
│ │ │ │ │ ├── WriteClassNameTest2.java
│ │ │ │ │ ├── WriteClassNameTest3.java
│ │ │ │ │ ├── WriteClassNameTest5.java
│ │ │ │ │ ├── WriteClassNameTest6.java
│ │ │ │ │ ├── WriteClassNameTest_Collection.java
│ │ │ │ │ ├── WriteClassNameTest_Collection2.java
│ │ │ │ │ ├── WriteClassNameTest_List.java
│ │ │ │ │ ├── WriteClassNameTest_List2.java
│ │ │ │ │ ├── WriteClassNameTest_List3.java
│ │ │ │ │ ├── WriteClassNameTest_Map.java
│ │ │ │ │ ├── WriteClassNameTest_Set.java
│ │ │ │ │ ├── WriteClassNameTest_Set2.java
│ │ │ │ │ ├── WriteClassNameTest_Set3.java
│ │ │ │ │ ├── WriteClassNameTest_Set4.java
│ │ │ │ │ ├── WriteClassNameTest_Set5.java
│ │ │ │ │ ├── WriteClassNameTest_bytes.java
│ │ │ │ │ └── WriteDuplicateType.java
│ │ │ │ ├── bvtVO/
│ │ │ │ │ ├── AccessHttpConfigModel.java
│ │ │ │ │ ├── ArgCheckTest.java
│ │ │ │ │ ├── AuditStatusType.java
│ │ │ │ │ ├── Bean.java
│ │ │ │ │ ├── BigClass.java
│ │ │ │ │ ├── ContactTemplateParam.java
│ │ │ │ │ ├── DataTransaction.java
│ │ │ │ │ ├── DataTransaction2.java
│ │ │ │ │ ├── IEvent.java
│ │ │ │ │ ├── IEventDto.java
│ │ │ │ │ ├── Image.java
│ │ │ │ │ ├── IncomingDataPoint.java
│ │ │ │ │ ├── IncomingDataPoint_double.java
│ │ │ │ │ ├── IncomingDataPoint_ext_double.java
│ │ │ │ │ ├── IntEnum.java
│ │ │ │ │ ├── Main.java
│ │ │ │ │ ├── OfferRankResultVO.java
│ │ │ │ │ ├── OptionKey.java
│ │ │ │ │ ├── OptionValue.java
│ │ │ │ │ ├── Page.java
│ │ │ │ │ ├── PayDO.java
│ │ │ │ │ ├── PhysicalQueue.java
│ │ │ │ │ ├── ProductView.java
│ │ │ │ │ ├── PushMsg.java
│ │ │ │ │ ├── QueryResult.java
│ │ │ │ │ ├── QueueEntity.java
│ │ │ │ │ ├── RainbowStats.java
│ │ │ │ │ ├── TempAttachMetaOption.java
│ │ │ │ │ ├── TestDTO.java
│ │ │ │ │ ├── VirtualTopic.java
│ │ │ │ │ ├── WareHouseInfo.java
│ │ │ │ │ ├── ae/
│ │ │ │ │ │ ├── Area.java
│ │ │ │ │ │ ├── Data.java
│ │ │ │ │ │ ├── Floor.java
│ │ │ │ │ │ ├── Item.java
│ │ │ │ │ │ └── huangliang2/
│ │ │ │ │ │ ├── Area.java
│ │ │ │ │ │ ├── Floor.java
│ │ │ │ │ │ ├── FloorPageData.java
│ │ │ │ │ │ ├── FloorV1.java
│ │ │ │ │ │ ├── FloorV2.java
│ │ │ │ │ │ ├── MockResult.java
│ │ │ │ │ │ ├── NetResponse.java
│ │ │ │ │ │ └── Section.java
│ │ │ │ │ ├── alipay/
│ │ │ │ │ │ └── PlatformDepartmentVO.java
│ │ │ │ │ ├── basic/
│ │ │ │ │ │ └── LongPrimitiveEntity.java
│ │ │ │ │ ├── bbc/
│ │ │ │ │ │ ├── BaseResult.java
│ │ │ │ │ │ └── MyResultResult.java
│ │ │ │ │ ├── deny/
│ │ │ │ │ │ └── A.java
│ │ │ │ │ ├── mogujie/
│ │ │ │ │ │ ├── BankCard.java
│ │ │ │ │ │ ├── BaseDTO.java
│ │ │ │ │ │ └── BindQueryRespDTO.java
│ │ │ │ │ ├── vip_com/
│ │ │ │ │ │ ├── QueryLoanOrderRsp.java
│ │ │ │ │ │ └── TxnListItsm.java
│ │ │ │ │ ├── wuqi/
│ │ │ │ │ │ ├── InstanceSchema.java
│ │ │ │ │ │ ├── Result.java
│ │ │ │ │ │ └── SchemaResult.java
│ │ │ │ │ └── 一个中文名字的包/
│ │ │ │ │ └── User.java
│ │ │ │ ├── demo/
│ │ │ │ │ ├── BooleanFieldDemo.java
│ │ │ │ │ ├── DateDemo.java
│ │ │ │ │ ├── Demo1.java
│ │ │ │ │ ├── Demo2.java
│ │ │ │ │ ├── EncodeDemo.java
│ │ │ │ │ ├── ErrorObjectSerializer.java
│ │ │ │ │ ├── FilterDemo.java
│ │ │ │ │ ├── Forguard.java
│ │ │ │ │ ├── Group.java
│ │ │ │ │ ├── JSONFeidDemo.java
│ │ │ │ │ ├── MapDemo.java
│ │ │ │ │ ├── ReuseObject.java
│ │ │ │ │ ├── User.java
│ │ │ │ │ ├── X.java
│ │ │ │ │ ├── XAutowiredObjectSerializer.java
│ │ │ │ │ └── hibernate/
│ │ │ │ │ ├── ForceLazyLoadingTest.java
│ │ │ │ │ ├── LazyLoadingTest.java
│ │ │ │ │ └── data/
│ │ │ │ │ ├── Customer.java
│ │ │ │ │ ├── Employee.java
│ │ │ │ │ ├── Office.java
│ │ │ │ │ ├── Order.java
│ │ │ │ │ ├── OrderDetail.java
│ │ │ │ │ ├── OrderDetailId.java
│ │ │ │ │ ├── Payment.java
│ │ │ │ │ ├── PaymentId.java
│ │ │ │ │ └── Product.java
│ │ │ │ └── test/
│ │ │ │ ├── A1.java
│ │ │ │ ├── Base64.java
│ │ │ │ ├── Bug_0_Test.java
│ │ │ │ ├── DateTest.java
│ │ │ │ ├── DetectProhibitChar.java
│ │ │ │ ├── DigitTest.java
│ │ │ │ ├── ErrorAppendable.java
│ │ │ │ ├── FNV32_CollisionTest.java
│ │ │ │ ├── FNV32_CollisionTest_2.java
│ │ │ │ ├── FNV32_CollisionTest_All.java
│ │ │ │ ├── FNVHashTest.java
│ │ │ │ ├── GenerateJavaTest.java
│ │ │ │ ├── InnerInnerTest.java
│ │ │ │ ├── IntArrayFieldTest_primitive.java
│ │ │ │ ├── Issue1001.java
│ │ │ │ ├── Issue1407.java
│ │ │ │ ├── Issue1488.java
│ │ │ │ ├── Issue3805.java
│ │ │ │ ├── JSONLibXmlTest.java
│ │ │ │ ├── JSONParser2Test.java
│ │ │ │ ├── JavaHash_CollisionTest.java
│ │ │ │ ├── JsonIteratorByteArrayTest.java
│ │ │ │ ├── JsonIteratorImageTest.java
│ │ │ │ ├── JsonIteratorTest.java
│ │ │ │ ├── SymbolTableDupTest.java
│ │ │ │ ├── TestASM.java
│ │ │ │ ├── TestFor_iteye_resolute.java
│ │ │ │ ├── TestSysProperty.java
│ │ │ │ ├── TestUtils.java
│ │ │ │ ├── TestWriteSlashAsSpecial.java
│ │ │ │ ├── UTF8Test.java
│ │ │ │ ├── UTF8Test_decode.java
│ │ │ │ ├── VansParseTest.java
│ │ │ │ ├── a/
│ │ │ │ │ ├── A20170327_0.java
│ │ │ │ │ ├── Alipay1206.java
│ │ │ │ │ ├── AlipayJSONPathReplace.java
│ │ │ │ │ ├── CompilerTest.java
│ │ │ │ │ ├── Group.java
│ │ │ │ │ ├── GsonTest.java
│ │ │ │ │ ├── IncomingDataPointBenchmark.java
│ │ │ │ │ ├── IncomingDataPointBenchmark_file.java
│ │ │ │ │ ├── IncomingDataPointBenchmark_file_double.java
│ │ │ │ │ ├── IncomingDataPointBenchmark_file_ext_double.java
│ │ │ │ │ ├── JTest.java
│ │ │ │ │ ├── SpecialTest.java
│ │ │ │ │ ├── User.java
│ │ │ │ │ ├── VRTest.java
│ │ │ │ │ └── WhiteSpaceTest.java
│ │ │ │ ├── benchmark/
│ │ │ │ │ ├── BenchmarkCase.java
│ │ │ │ │ ├── BenchmarkExecutor.java
│ │ │ │ │ ├── BenchmarkMain.java
│ │ │ │ │ ├── BenchmarkMain_EishayDecode.java
│ │ │ │ │ ├── BenchmarkMain_EishayDecode_WriteAsArray.java
│ │ │ │ │ ├── BenchmarkMain_EishayEncode.java
│ │ │ │ │ ├── BenchmarkMain_EishayEncode_WriteAsArray.java
│ │ │ │ │ ├── BenchmarkTest.java
│ │ │ │ │ ├── JSONPathBenchmarkTest.java
│ │ │ │ │ ├── RyuDoubleBenchmark.java
│ │ │ │ │ ├── RyuFloatBenchmark.java
│ │ │ │ │ ├── basic/
│ │ │ │ │ │ ├── BigDecimalBenchmark.java
│ │ │ │ │ │ ├── BigIntegerBenchmark.java
│ │ │ │ │ │ ├── BooleanBenchmark.java
│ │ │ │ │ │ ├── ByteBenchmark.java
│ │ │ │ │ │ ├── ByteBenchmark_arrayMapping_obj.java
│ │ │ │ │ │ ├── ByteBenchmark_obj.java
│ │ │ │ │ │ ├── DateBenchmark.java
│ │ │ │ │ │ ├── DoubleBenchmark.java
│ │ │ │ │ │ ├── DoubleBenchmark_arrayMapping.java
│ │ │ │ │ │ ├── DoubleBenchmark_arrayMapping_obj.java
│ │ │ │ │ │ ├── DoubleBenchmark_obj.java
│ │ │ │ │ │ ├── FloatBenchmark.java
│ │ │ │ │ │ ├── FloatBenchmark_arrayMapping.java
│ │ │ │ │ │ ├── FloatBenchmark_arrayMapping_obj.java
│ │ │ │ │ │ ├── FloatBenchmark_obj.java
│ │ │ │ │ │ ├── IntBenchmark.java
│ │ │ │ │ │ ├── IntBenchmark_arrayMapping_obj.java
│ │ │ │ │ │ ├── IntBenchmark_obj.java
│ │ │ │ │ │ ├── LinkedListBenchmark.java
│ │ │ │ │ │ ├── LongBenchmark.java
│ │ │ │ │ │ ├── LongBenchmark_obj.java
│ │ │ │ │ │ ├── ShortBenchmark.java
│ │ │ │ │ │ ├── ShortBenchmark_arrayMappinng_obj.java
│ │ │ │ │ │ ├── ShortBenchmark_obj.java
│ │ │ │ │ │ └── UUIDBenchmark.java
│ │ │ │ │ ├── decode/
│ │ │ │ │ │ ├── BooleanArray1000Decode.java
│ │ │ │ │ │ ├── EishayDecode.java
│ │ │ │ │ │ ├── EishayDecode2Bytes.java
│ │ │ │ │ │ ├── EishayDecodeByClassName.java
│ │ │ │ │ │ ├── EishayDecodeBytes.java
│ │ │ │ │ │ ├── EishayTreeDecode.java
│ │ │ │ │ │ ├── Entity100IntDecode.java
│ │ │ │ │ │ ├── Entity100StringDecode.java
│ │ │ │ │ │ ├── GroupDecode.java
│ │ │ │ │ │ ├── IntArray1000Decode.java
│ │ │ │ │ │ ├── Map1000StringDecode.java
│ │ │ │ │ │ ├── Map1Decode.java
│ │ │ │ │ │ ├── StringArray1000Decode.java
│ │ │ │ │ │ └── TradeObjectParse.java
│ │ │ │ │ ├── encode/
│ │ │ │ │ │ ├── ArrayBoolean1000Encode.java
│ │ │ │ │ │ ├── ArrayByte1000Encode.java
│ │ │ │ │ │ ├── ArrayEmptyList1000Encode.java
│ │ │ │ │ │ ├── ArrayEmptyMap1000Encode.java
│ │ │ │ │ │ ├── ArrayInt1000Encode.java
│ │ │ │ │ │ ├── ArrayLong1000Encode.java
│ │ │ │ │ │ ├── ArrayObjectEmptyMap1000Encode.java
│ │ │ │ │ │ ├── ArrayString1000Encode.java
│ │ │ │ │ │ ├── CategoryEncode.java
│ │ │ │ │ │ ├── EishayEncode.java
│ │ │ │ │ │ ├── EishayEncodeOutputStream.java
│ │ │ │ │ │ ├── EishayEncodeToBytes.java
│ │ │ │ │ │ ├── Entity100IntEncode.java
│ │ │ │ │ │ ├── GroupEncode.java
│ │ │ │ │ │ ├── ListBoolean1000Encode.java
│ │ │ │ │ │ └── Map1000Encode.java
│ │ │ │ │ ├── entity/
│ │ │ │ │ │ ├── Entity100Int.java
│ │ │ │ │ │ └── Entity100String.java
│ │ │ │ │ └── jdk10/
│ │ │ │ │ ├── StringBenchmark.java
│ │ │ │ │ └── StringBenchmark_jackson.java
│ │ │ │ ├── codec/
│ │ │ │ │ ├── Codec.java
│ │ │ │ │ ├── FastjsonArrayMappingCodec.java
│ │ │ │ │ ├── FastjsonBeanToArrayCodec.java
│ │ │ │ │ ├── FastjsonCodec.java
│ │ │ │ │ ├── FastjsonGenCodec.java
│ │ │ │ │ ├── FastjsonManualCodec.java
│ │ │ │ │ ├── FastjsonSCodec.java
│ │ │ │ │ ├── GsonCodec.java
│ │ │ │ │ ├── Jackson2AfterBurnCodec.java
│ │ │ │ │ ├── Jackson2Codec.java
│ │ │ │ │ ├── JacksonCodec.java
│ │ │ │ │ ├── JsonLibCodec.java
│ │ │ │ │ ├── JsonSmartCodec.java
│ │ │ │ │ └── SimpleJsonCodec.java
│ │ │ │ ├── codegen/
│ │ │ │ │ ├── Department.java
│ │ │ │ │ ├── DepartmentCodec.java
│ │ │ │ │ ├── DepartmentType.java
│ │ │ │ │ ├── Employee.java
│ │ │ │ │ ├── GenMediaTest.java
│ │ │ │ │ ├── GenTest.java
│ │ │ │ │ └── MediaContentGenTest.java
│ │ │ │ ├── deny/
│ │ │ │ │ └── NotExistsTest.java
│ │ │ │ ├── dubbo/
│ │ │ │ │ ├── EnumTest.java
│ │ │ │ │ ├── FullAddress.java
│ │ │ │ │ ├── HelloServiceImpl.java
│ │ │ │ │ ├── Image.java
│ │ │ │ │ ├── Person.java
│ │ │ │ │ ├── PersonInfo.java
│ │ │ │ │ ├── PersonStatus.java
│ │ │ │ │ ├── Phone.java
│ │ │ │ │ ├── Tiger.java
│ │ │ │ │ └── Tigers.java
│ │ │ │ ├── entity/
│ │ │ │ │ ├── Company.java
│ │ │ │ │ ├── Department.java
│ │ │ │ │ ├── Employee.java
│ │ │ │ │ ├── Group.java
│ │ │ │ │ ├── TestEntity.java
│ │ │ │ │ ├── case1/
│ │ │ │ │ │ ├── IntObject_100_Entity.java
│ │ │ │ │ │ ├── Int_100_Entity.java
│ │ │ │ │ │ ├── LongObject_100_Entity.java
│ │ │ │ │ │ ├── Long_100_Entity.java
│ │ │ │ │ │ └── String_100_Entity.java
│ │ │ │ │ ├── case2/
│ │ │ │ │ │ └── Category.java
│ │ │ │ │ └── pagemodel/
│ │ │ │ │ ├── ComponentInstance.java
│ │ │ │ │ ├── ComponentInstanceParam.java
│ │ │ │ │ ├── LayoutInstance.java
│ │ │ │ │ ├── PageInstance.java
│ │ │ │ │ ├── RegionEnum.java
│ │ │ │ │ ├── RegionInstance.java
│ │ │ │ │ ├── SegmentInstance.java
│ │ │ │ │ └── WidgetInstance.java
│ │ │ │ ├── epubview/
│ │ │ │ │ ├── EpubViewBook.java
│ │ │ │ │ ├── EpubViewHotPoint.java
│ │ │ │ │ ├── EpubViewHotPointZone.java
│ │ │ │ │ ├── EpubViewMetaData.java
│ │ │ │ │ ├── EpubViewPage.java
│ │ │ │ │ ├── TestKlutz.java
│ │ │ │ │ ├── TestKlutz2.java
│ │ │ │ │ └── TestKlutz3.java
│ │ │ │ ├── generic/
│ │ │ │ │ ├── GenericTypeTest.java
│ │ │ │ │ ├── TBean.java
│ │ │ │ │ ├── TGen.java
│ │ │ │ │ └── TStr.java
│ │ │ │ ├── gson/
│ │ │ │ │ └── TestChineseQuote.java
│ │ │ │ ├── jackson/
│ │ │ │ │ ├── JacksonInnerClassTest.java
│ │ │ │ │ ├── JacksonTest.java
│ │ │ │ │ ├── JacksonTypeInfoTest.java
│ │ │ │ │ └── JacksonUnwrappedTest.java
│ │ │ │ ├── knowissue/
│ │ │ │ │ └── Bug_for_loveflying.java
│ │ │ │ ├── performance/
│ │ │ │ │ ├── DecoderPerformanceTest.java
│ │ │ │ │ ├── IntArrayEncodePerformanceTest.java
│ │ │ │ │ ├── IntegerArrayEncodePerformanceTest.java
│ │ │ │ │ ├── IntegerListEncodePerformanceTest.java
│ │ │ │ │ ├── JacksonGroupDecoder.java
│ │ │ │ │ ├── JacksonGroupParser.java
│ │ │ │ │ ├── JacksonPageModelParser.java
│ │ │ │ │ ├── JsonitorCollisionTest.java
│ │ │ │ │ ├── ObjectDecodePerformanceTest.java
│ │ │ │ │ ├── ObjectEncodePerformanceTest.java
│ │ │ │ │ ├── PageModelPerformanceTest.java
│ │ │ │ │ └── case1/
│ │ │ │ │ ├── GenerateTest.java
│ │ │ │ │ ├── IntDecoderPerformanceTest.java
│ │ │ │ │ ├── IntObjectDecodePerformanceTest.java
│ │ │ │ │ └── IntObjectEncodePerformanceTest.java
│ │ │ │ ├── ryu/
│ │ │ │ │ ├── RyuDoubleTest.java
│ │ │ │ │ └── RyuFloatTest.java
│ │ │ │ ├── tmall/
│ │ │ │ │ ├── EngineResult.java
│ │ │ │ │ ├── Head.java
│ │ │ │ │ ├── RateResult.java
│ │ │ │ │ ├── RateSearchItemDO.java
│ │ │ │ │ └── TmallTest.java
│ │ │ │ └── vans/
│ │ │ │ ├── VansAnimation.java
│ │ │ │ ├── VansData.java
│ │ │ │ ├── VansGeometry.java
│ │ │ │ ├── VansGeometryData.java
│ │ │ │ ├── VansGeometryDataMetaData.java
│ │ │ │ ├── VansMetaData.java
│ │ │ │ ├── VansObject.java
│ │ │ │ └── VansObjectChildren.java
│ │ │ ├── derbysoft/
│ │ │ │ └── spitfire/
│ │ │ │ └── fastjson/
│ │ │ │ ├── ABCTest.java
│ │ │ │ ├── Generic.java
│ │ │ │ ├── Header.java
│ │ │ │ ├── TestFastJson.java
│ │ │ │ └── dto/
│ │ │ │ ├── AbstractDTO.java
│ │ │ │ ├── AbstractRS.java
│ │ │ │ ├── AgeQualifyingType.java
│ │ │ │ ├── AvailGuaranteeDTO.java
│ │ │ │ ├── AvailRoomStayDTO.java
│ │ │ │ ├── BathType.java
│ │ │ │ ├── CancelPenaltyType.java
│ │ │ │ ├── CancelPolicyDTO.java
│ │ │ │ ├── CardCode.java
│ │ │ │ ├── ChargeItemDTO.java
│ │ │ │ ├── ChargeType.java
│ │ │ │ ├── ChargeUnit.java
│ │ │ │ ├── CompositeType.java
│ │ │ │ ├── Currency.java
│ │ │ │ ├── DateRangeDTO.java
│ │ │ │ ├── ErrorsDTO.java
│ │ │ │ ├── FreeMealDTO.java
│ │ │ │ ├── FreeMealType.java
│ │ │ │ ├── GenericRS.java
│ │ │ │ ├── GuaranteeType.java
│ │ │ │ ├── GuestCountDTO.java
│ │ │ │ ├── HotelAvailRS.java
│ │ │ │ ├── HotelAvailRoomStayDTO.java
│ │ │ │ ├── HotelRefDTO.java
│ │ │ │ ├── InternetDTO.java
│ │ │ │ ├── InternetType.java
│ │ │ │ ├── LanguageType.java
│ │ │ │ ├── MealsIncludedDTO.java
│ │ │ │ ├── MealsIncludedType.java
│ │ │ │ ├── PaymentType.java
│ │ │ │ ├── ProviderChainDTO.java
│ │ │ │ ├── RateDTO.java
│ │ │ │ ├── RatePlanDTO.java
│ │ │ │ ├── ResponseHeader.java
│ │ │ │ ├── RoomRateDTO.java
│ │ │ │ ├── RoomStayCandidateDTO.java
│ │ │ │ ├── RoomTypeDTO.java
│ │ │ │ ├── SimpleAmountDTO.java
│ │ │ │ ├── SmokingType.java
│ │ │ │ ├── StayDateRangeDTO.java
│ │ │ │ ├── SuccessDTO.java
│ │ │ │ ├── TPAExtensionsDTO.java
│ │ │ │ ├── UniqueIDDTO.java
│ │ │ │ ├── UniqueIDType.java
│ │ │ │ ├── WarningDTO.java
│ │ │ │ └── WarningsDTO.java
│ │ │ ├── mchange/
│ │ │ │ └── v2/
│ │ │ │ └── c3p0/
│ │ │ │ └── impl/
│ │ │ │ └── PoolBackedDataSourceBase.java
│ │ │ └── wheelchair/
│ │ │ ├── parser/
│ │ │ │ └── JSONScannerTest.java
│ │ │ └── validate/
│ │ │ ├── testcase_accurate_json.json
│ │ │ ├── testcase_colon_error.json
│ │ │ ├── testcase_num_error1.json
│ │ │ ├── testcase_num_error2.json
│ │ │ ├── testcase_quotation_mark_error.json
│ │ │ ├── testcase_square_brackets_error.json
│ │ │ └── testcase_tfn_error.json
│ │ ├── data/
│ │ │ ├── ReprUtil.java
│ │ │ └── media/
│ │ │ ├── FieldMapping.java
│ │ │ ├── Image.java
│ │ │ ├── ImageGenDecoder.java
│ │ │ ├── Media.java
│ │ │ ├── MediaContent.java
│ │ │ ├── MediaContentDeserializer.java
│ │ │ ├── MediaContentGenDecoder.java
│ │ │ ├── MediaGenDecoder.java
│ │ │ └── writeAsArray/
│ │ │ ├── ImageDeserializer.java
│ │ │ ├── ImageSerializer.java
│ │ │ ├── MediaContentDeserializer.java
│ │ │ ├── MediaContentSerializer.java
│ │ │ ├── MediaDeserializer.java
│ │ │ └── MediaSerializer.java
│ │ └── oracle/
│ │ └── sql/
│ │ ├── DATE.java
│ │ └── TIMESTAMP.java
│ └── resources/
│ ├── 1.txt
│ ├── 2.json
│ ├── META-INF/
│ │ ├── persistence.xml
│ │ └── services/
│ │ └── com.alibaba.fastjson.serializer.AutowiredObjectSerializer
│ ├── classicmodels.sql
│ ├── com/
│ │ └── alibaba/
│ │ └── json/
│ │ └── bvt/
│ │ └── support/
│ │ ├── jaxrs/
│ │ │ └── mock/
│ │ │ └── resource/
│ │ │ └── applicationContext-rest.xml
│ │ └── spring/
│ │ └── mock/
│ │ └── resource/
│ │ ├── applicationContext-mvc1.xml
│ │ ├── applicationContext-mvc2.xml
│ │ └── applicationContext-mvc3.xml
│ ├── config/
│ │ ├── applicationContext-mvc1.xml
│ │ ├── applicationContext-mvc2.xml
│ │ ├── applicationContext-mvc3.xml
│ │ ├── applicationContext-mvc4.xml
│ │ ├── applicationContext-mvc5.xml
│ │ └── applicationContext-rest.xml
│ ├── data/
│ │ ├── media.1.cks
│ │ ├── media.1.json
│ │ ├── media.2.cks
│ │ ├── media.2.json
│ │ ├── media.3.cks
│ │ └── media.4.cks
│ ├── epub.json
│ ├── external/
│ │ ├── Demo.clazz
│ │ ├── EsbHashMapBean.clazz
│ │ ├── EsbListBean.clazz
│ │ ├── EsbResultModel.clazz
│ │ ├── MockDemoService.clazz
│ │ ├── MyEsbResultModel2.clazz
│ │ ├── VO.clazz
│ │ └── VO2.clazz
│ ├── fastjson.properties
│ ├── hashcollide.txt
│ ├── issue72.json
│ ├── issue74.json
│ ├── json/
│ │ ├── Bug_0_Test.json
│ │ ├── Bug_1_Test.json
│ │ ├── Bug_2_Test.json
│ │ ├── Bug_for_sanxiao.json
│ │ ├── Issue408.json
│ │ ├── a.js
│ │ ├── book.json
│ │ ├── dla_01.json
│ │ ├── group.json
│ │ ├── int_100.json
│ │ ├── int_1000.json
│ │ ├── int_10000.json
│ │ ├── int_500.json
│ │ ├── int_array_100.json
│ │ ├── int_array_1000.json
│ │ ├── int_array_10000.json
│ │ ├── int_array_200.json
│ │ ├── int_array_500.json
│ │ ├── json_with_comment.json
│ │ ├── maiksagill.json
│ │ ├── object_f_emptyobj_10000.json
│ │ ├── object_f_false_10000.json
│ │ ├── object_f_int_1000.json
│ │ ├── object_f_int_10000.json
│ │ ├── object_f_null_10000.json
│ │ ├── object_f_string_10000.json
│ │ ├── object_f_true_10000.json
│ │ ├── page_model_cached.json
│ │ ├── string_array_10000.json
│ │ ├── taobao/
│ │ │ └── cart.json
│ │ ├── trade.json
│ │ ├── wangran.json
│ │ ├── yannywang.js
│ │ └── yannywang.json
│ ├── json.json
│ ├── jvmargs
│ ├── kotlin/
│ │ ├── A.clazz
│ │ ├── ClassWithPair.clazz
│ │ ├── ClassWithPairMixedTypes.clazz
│ │ ├── ClassWithRanges.clazz
│ │ ├── ClassWithTriple.clazz
│ │ ├── Class_WithPrimaryAndSecondaryConstructor.clazz
│ │ ├── DataClass.clazz
│ │ ├── DataClassPropsGeneric.clazz
│ │ ├── DataClassSimple.clazz
│ │ ├── Issue1488_Server.clazz
│ │ ├── Issue1569_User.clazz
│ │ ├── Issue1750_ProcessBO.clazz
│ │ ├── ObjectA.clazz
│ │ ├── Person.clazz
│ │ ├── ProjectItemCheckItemRelation1.clazz
│ │ ├── ResponseKotlin.clazz
│ │ ├── ResponseKotlin2.clazz
│ │ ├── issue1526/
│
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/workflows/ci.yaml
================================================
---
name: Java CI
on: [push, pull_request]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-18.04, macOS-latest]
java: [8]
fail-fast: false
max-parallel: 4
name: Test JDK ${{ matrix.java }}, ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- uses: actions/cache@v2
env:
cache-name: cache-maven-modules
with:
path: ~/.m2/repository
key: ${{ runner.os }}-build-${{ env.cache-name }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}
- name: Test with Maven
run: mvn test -B --file pom.xml
================================================
FILE: .gitignore
================================================
/target
/.project
/.settings
/.classpath
/.idea
/.DS_Store
*.iml
/src/test/java/com/alibaba/json/bvt/parser/autoType/
/bin/
================================================
FILE: .gitpod.yml
================================================
tasks:
- init: mvn install -DskipTests=true
vscode:
extensions:
- vscjava.vscode-maven@0.21.0:37ZOg7jK2M04yXsE+ItbZg==
- GabrielBB.vscode-lombok@1.0.0:fYRHVd+UkrccCfjaRz7jKw==
================================================
FILE: .travis.yml
================================================
language: java
jdk:
- openjdk8
before_install:
- pip install --user codecov
after_success:
- codecov
branches:
except:
- appveyor
cache:
directories:
- $HOME/.m2
================================================
FILE: CONTRIBUTING.md
================================================
## Contributing
If you want to contribute to a project and make it better, your help is very welcome. Contributing is also a great way to learn more about social coding on Github, new technologies and their ecosystems, and how to make constructive, helpful bug reports, feature requests and the noblest of all contributions: a good, clean pull request.
### How to make a clean pull request
Look for a project's contribution instructions. If there are any, follow them.
- Create a personal fork of the project on Github.
- Clone the fork on your local machine. Your remote repo on Github is called `origin`.
- Add the original repository as a remote called `upstream`.
- If you created your fork a while ago be sure to pull upstream changes into your local repository.
- Create a new branch to work on! Branch from `develop` if it exists, else from `master`.
- Implement/fix your feature, comment your code.
- Follow the code style of the project, including indentation.
- If the project has tests run them!
- Write or adapt tests as needed.
- Add or change the documentation as needed.
- Create a new branch if necessary.
- Push your branch to your fork on Github, the remote `origin`.
- From your fork open a pull request in the correct branch. Target the project's `develop` branch if there is one, else go for `master`!
- Wait for approval.
- Once the pull request is approved and merged you can pull the changes from `upstream` to your local repo and delete
your extra branch(es).
And last but not least: Always write your commit messages in the present tense. Your commit message should describe what the commit, when applied, does to the code – not what you did to the code.
================================================
FILE: README.md
================================================
# fastjson
[](https://github.com/alibaba/fastjson/actions/workflows/ci.yaml)
[](https://codecov.io/gh/alibaba/fastjson/branch/master)
[](https://maven-badges.herokuapp.com/maven-central/com.alibaba/fastjson/)
[](https://github.com/alibaba/fastjson/releases)
[](https://www.apache.org/licenses/LICENSE-2.0.html)
[](https://gitpod.io/#https://github.com/alibaba/fastjson)
[](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:fastjson2)
[](https://quality-gate.com/dashboard/branches/7816#overview)
Fastjson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Fastjson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of.
[FASTJSON 2.0.x](https://github.com/alibaba/fastjson2/releases) has been released, faster and more secure, we recommend you [upgrade](https://github.com/alibaba/fastjson2/wiki/fastjson_1_upgrade_cn) to the latest version.
### Fastjson Goals
* Provide the best performance on the server-side and android client
* Provide simple toJSONString() and parseObject() methods to convert Java objects to JSON and vice-versa
* Allow pre-existing unmodifiable objects to be converted to and from JSON
* Extensive support of Java Generics
* Allow custom representations for objects
* Support arbitrarily complex objects (with deep inheritance hierarchies and extensive use of generic types)

## Documentation
- [Documentation Home](https://github.com/alibaba/fastjson/wiki)
- [Contributing Code](https://github.com/nschaffner/fastjson/blob/master/CONTRIBUTING.md)
- [Frequently Asked Questions](https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)
- FASTJSON 1.x User Upgrade Guid [https://github.com/alibaba/fastjson2/wiki/fastjson_1_upgrade_cn](https://github.com/alibaba/fastjson2/wiki/fastjson_1_upgrade_cn
)
## Benchmark
* Eishay benchmark https://github.com/eishay/jvm-serializers/wiki
* fastjson2 benchmark [https://github.com/alibaba/fastjson2/wiki/fastjson_benchmark](https://github.com/alibaba/fastjson2/wiki/fastjson_benchmark)
## Download
- [maven][1]
- [the latest JAR][2]
[1]: https://repo1.maven.org/maven2/com/alibaba/fastjson/
[2]: https://search.maven.org/remote_content?g=com.alibaba&a=fastjson&v=LATEST
## Maven
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.31</version>
</dependency>
```
## Gradle via JCenter
``` groovy
compile 'com.alibaba:fastjson:2.0.28'
```
Please see this [Wiki Download Page][Wiki] for more repository info.
[Wiki]: https://github.com/alibaba/fastjson/wiki#download
### *License*
Fastjson is released under the [Apache 2.0 license](license.txt).
```
Copyright 1999-2020 Alibaba Group Holding Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at the following link.
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```
================================================
FILE: SECURITY.md
================================================
# 漏洞奖励计划
## 报告
如果您认为自己在本程序中发现了任何安全(技术)漏洞,欢迎您通过 https://security.alibaba.com 向我们提交漏洞报告。
如果您报告任何安全漏洞,请注意您可能包含以下信息(合格报告):
* git程序URL地址,运行的环境
* 包含必要屏幕截图的详细说明
* 重现漏洞的步骤以及修复漏洞的建议。
* 其他有用信息
## 处理
ASRC(Alibaba Security Response Center阿里安全响应中心)将尽快审核并回复您的提交内容,并在我们努力修复您提交的漏洞时随时通知您。如有必要,我们可能会与您联系以获取更多信息。
## 条款和条件
1. 仅接受技术漏洞并对其进行评级
2. 出于安全原因,上报者同意与ASRC合作完成他/她提交的漏洞,不向任何第三方透露任何漏洞信息
3. 如果不止一个人报告相同的安全漏洞,奖励将给予完成合格报告的第一个人
4. 为了保护程序的用户,请在修复之前不要直接提交git的issue,也不要在社区讨论任何漏洞信息
5. 所有奖励和声誉积分将提供给仅向ASRC提交其安全漏洞的上报者
6. 安全漏洞奖励的解释权利归ASRC所有
## 收集范围
我们的主要收集漏洞类别是:
* 服务器端请求伪造(SSRF)
* SQL注入
* 拒绝服务攻击
* 远程执行代码(RCE)
* XML外部实体攻击(XXE)
* 访问控制问题(不安全的直接对象参考问题等)
* 敏感目录遍历问题
* 本地文件读取(LFD)
* 敏感信息泄露(密钥,Cookie,Session等)
## 奖励
* 可直接导致严重问题的每个漏洞奖励7000元人民币
* 存在限制及需要一定特殊环境下才能利用的问题将给予700-5600元人民币不等的奖励,比如需要用户主动点击才会触发的问题或需要admin权限
* 只有在指定环境下才可以运行的利用将有可能被收纳但不给予奖励,或直接被忽略,比如只在fastjson+linux特定版本才会出现的问题
## 不在收集范围的报告
* 影响过时浏览器或平台用户的漏洞
* Self-XSS
* 会话固定
* 内容欺骗
* 缺少cookie标记
* 混合内容警告
* SSL / TLS问题
* Clickjacking
* 基于Flash的漏洞
* 反射文件下载攻击(RFD)
* 物理或社会工程攻击
* 未验证自动化工具或扫描仪的结果
* 登录/注销/未认证/低影响CSRF
* 需要MITM或物理访问用户设备的攻击
* 与网络协议或行业标准相关的问题
* 不能用于直接攻击的错误信息泄露
* 缺少与安全相关的HTTP标头等
# Vulnerability Reward Program
## Reporting
If you believe you have found any security (technical) vulnerability in the Program, you are welcome to submit a vulnerability report to us at https://security.alibaba.com
In the case of reporting any security vulnerability, please note that you may include the following information (Qualified Reporting):
* The git program URL and running version
* A detailed description with applicable screenshots
* Steps to reproduce the vulnerability/exploit and your advice to fix it
* Other useful information
## Processing
ASRC (Alibaba Security Response Center) will review and respond as quickly as possible to your submission, and keep you informed as we work to fix the vulnerability you submitted. We may contact you for further information, if necessary.
## Terms and Conditions
1. ONLY technical vulnerabilities will be accepted and rated.
2. For security reasons, reporters agree to cooperate with ASRC exclusively on the vulnerability he/she submitted and not disclose any information of vulnerability to any third-parties.
3. In the case that more than one person report the same security vulnerability, the reward will be given to the first person who accomplish a Qualified Reporting.
4. To protect users of the program, please do not directly submit issue on github or discuss anything with the community.
5. All Rewards and Reputation Credits are given to the reporters who submit his/her security vulnerabilities ONLY to ASRC.
6. All rights for the security vulnerability rewards are reserved by ASRC.
## Scope of Collecting
The main categories of vulnerabilities that we are sincerely looking for are:
* Server-Side Request Forgery (SSRF)
* SQL Injection
* Denial of Service Attack
* Remote Code Execution (RCE)
* XML External Entity Attacks (XXE)
* Access Control Issues (Insecure Direct Object Reference issues, etc.)
* Directory Traversal Issues
* Local File Disclosure (LFD)
* Sensitive Information Leakage (Key, Cookie, Session etc.)
## Reward
* $1,000 for one valid report
* $100-$800 for Vuls which is limited. For example, Vuls that need user interactions or administrator authority
* Vuls which only work on the special version will be accepted but no reward, or directly rejected. For example, Vul runs only on a special linux version
## Ineligible Reports
* Vulnerabilities affecting users of outdated browsers or platforms
* "Self" XSS
* Session fixation
* Content Spoofing
* Missing cookie flags
* Mixed content warnings
* SSL/TLS best practices
* Clickjacking/UI redressing
* Flash-based vulnerabilities
* Reflected file download attacks (RFD)
* Physical or social engineering attacks
* Unverified Results of automated tools or scanners
* Login/logout/unauthenticated/low-impact CSRF
* Attacks requiring MITM or physical access to a user's device
* Issues related to networking protocols or industry standards
* Error information disclosure that cannot be used to make a direct attack
* Missing security-related HTTP headers which do not lead directly to a vulnerability
================================================
FILE: license.txt
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 1999-2019 Alibaba Group Holding Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>9</version>
</parent>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.84-SNAPSHOT</version>
<packaging>jar</packaging>
<name>fastjson</name>
<description>Fastjson is a JSON processor (JSON parser + JSON generator) written in Java</description>
<url>https://github.com/alibaba/fastjson</url>
<inceptionYear>2012</inceptionYear>
<properties>
<junit.version>4.13.1</junit.version>
<junit.version>4.13.1</junit.version>
<gpg.skip>true</gpg.skip>
<javadoc.skip>true</javadoc.skip>
<gpg.skip>true</gpg.skip>
<javadoc.skip>true</javadoc.skip>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jdk.version>1.5</jdk.version>
</properties>
<scm>
<url>https://github.com/alibaba/fastjson</url>
<connection>scm:git:https://git@github.com/alibaba/fastjson.git</connection>
</scm>
<organization>
<name>Alibaba Group</name>
<url>https://github.com/alibaba</url>
</organization>
<developers>
<developer>
<id>wenshao</id>
<name>wenshao</name>
<email>szujobs@hotmail.com</email>
</developer>
<developer>
<id>axmanwang</id>
<name>axmanwang</name>
<email>iamaxman@hotmail.com</email>
</developer>
<developer>
<id>kimmking</id>
<name>kimmking</name>
<email>kimmking@163.com</email>
</developer>
<developer>
<id>Victor Zeng</id>
<name>Victor Zeng</name>
<email>Victor.Zxy@outlook.com</email>
</developer>
<developer>
<id>Neil Dong</id>
<name>Neil Dong</name>
<email>email_dsl@163.com</email>
</developer>
<developer>
<name>李恒名</name>
<url>https://github.com/lihengming/</url>
<email>89921218@qq.com</email>
</developer>
<developer>
<id>Omega-Ariston</id>
<name>Jiechuan Chen</name>
<email>654815312@qq.com</email>
</developer>
</developers>
<licenses>
<license>
<name>Apache 2</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
<comments>A business-friendly OSS license</comments>
</license>
</licenses>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<encoding>UTF-8</encoding>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-javac</artifactId>
<version>2.7</version>
</dependency>
</dependencies>
</plugin>
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<encoding>UTF-8</encoding>
<source>11</source>
<target>11</target>
<compilerArgs>
<arg>- -add-modules</arg>
<arg>java.xml.bind</arg>
</compilerArgs>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-javac</artifactId>
<version>2.7</version>
</dependency>
</dependencies>
</plugin>
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
<configuration>
<attach>true</attach>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<includes>
<include>**/bvt/**/*.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>attach-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<skip>${javadoc.skip}</skip>
<show>public</show>
<charset>UTF-8</charset>
<encoding>UTF-8</encoding>
<docencoding>UTF-8</docencoding>
<links>
<link>http://docs.oracle.com/javase/6/docs/api</link>
</links>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<configuration>
<skip>${gpg.skip}</skip>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.2</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.1.2</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>4.3.7.RELEASE</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.7.RELEASE</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
<version>4.3.7.RELEASE</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.8.6.RELEASE</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>retrofit</artifactId>
<version>2.5.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-spring-web</artifactId>
<version>2.6.1</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.javaslang</groupId>
<artifactId>javaslang</artifactId>
<version>2.0.6</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>2.23.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.sf.trove4j</groupId>
<artifactId>core</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.javamoney.moneta</groupId>
<artifactId>moneta-core</artifactId>
<version>1.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>slice</artifactId>
<version>0.36</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.11.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
<version>3.11.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.6.201602180812</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.4.17.v20190418</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<version>9.4.17.v20190418</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-afterburner</artifactId>
<version>2.10.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-kotlin</artifactId>
<version>2.9.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.9.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
<version>2.4.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.clojure</groupId>
<artifactId>clojure</artifactId>
<version>1.5.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<version>2.1.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.7.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.18.0-GA</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>3.1.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>2.1.2.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.23.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.23.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-jdk-http</artifactId>
<version>2.23.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.23.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.jsoniter</groupId>
<artifactId>jsoniter</artifactId>
<version>0.9.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.10.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>1.4.21</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>1.4.21</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.2.10.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.10.19</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.6.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.diffblue</groupId>
<artifactId>deeptestutils</artifactId>
<version>1.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.21</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.21</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.3.5.RELEASE</version>
<exclusions>
<exclusion>
<artifactId>commons-codec</artifactId>
<groupId>commons-codec</groupId>
</exclusion>
<exclusion>
<artifactId>jackson</artifactId>
<groupId>jackson-mapper-asl</groupId>
</exclusion>
<exclusion>
<artifactId>jackson</artifactId>
<groupId>jackson-core-asl</groupId>
</exclusion>
</exclusions>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.gitlab4j</groupId>
<artifactId>gitlab4j-api</artifactId>
<version>4.8.42</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.chinamobile.cmos</groupId>
<artifactId>sms-core</artifactId>
<version>2.1.9</version>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>github_actions</id>
<activation>
<property>
<name>env.GITHUB_ACTIONS</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<!-- for codecov.io -->
<!-- config example: https://github.com/codecov/example-java -->
<!-- plugin docs: http://eclemma.org/jacoco/trunk/doc/ -->
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
================================================
FILE: rfc4627.txt
================================================
Network Working Group D. Crockford
Request for Comments: 4627 JSON.org
Category: Informational July 2006
The application/json Media Type for JavaScript Object Notation (JSON)
Status of This Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
JavaScript Object Notation (JSON) is a lightweight, text-based,
language-independent data interchange format. It was derived from
the ECMAScript Programming Language Standard. JSON defines a small
set of formatting rules for the portable representation of structured
data.
1. Introduction
JavaScript Object Notation (JSON) is a text format for the
serialization of structured data. It is derived from the object
literals of JavaScript, as defined in the ECMAScript Programming
Language Standard, Third Edition [ECMA].
JSON can represent four primitive types (strings, numbers, booleans,
and null) and two structured types (objects and arrays).
A string is a sequence of zero or more Unicode characters [UNICODE].
An object is an unordered collection of zero or more name/value
pairs, where a name is a string and a value is a string, number,
boolean, null, object, or array.
An array is an ordered sequence of zero or more values.
The terms "object" and "array" come from the conventions of
JavaScript.
JSON's design goals were for it to be minimal, portable, textual, and
a subset of JavaScript.
Crockford Informational [Page 1]
RFC 4627 JSON July 2006
1.1. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
The grammatical rules in this document are to be interpreted as
described in [RFC4234].
2. JSON Grammar
A JSON text is a sequence of tokens. The set of tokens includes six
structural characters, strings, numbers, and three literal names.
A JSON text is a serialized object or array.
JSON-text = object / array
These are the six structural characters:
begin-array = ws %x5B ws ; [ left square bracket
begin-object = ws %x7B ws ; { left curly bracket
end-array = ws %x5D ws ; ] right square bracket
end-object = ws %x7D ws ; } right curly bracket
name-separator = ws %x3A ws ; : colon
value-separator = ws %x2C ws ; , comma
Insignificant whitespace is allowed before or after any of the six
structural characters.
ws = *(
%x20 / ; Space
%x09 / ; Horizontal tab
%x0A / ; Line feed or New line
%x0D ; Carriage return
)
2.1. Values
A JSON value MUST be an object, array, number, or string, or one of
the following three literal names:
false null true
Crockford Informational [Page 2]
RFC 4627 JSON July 2006
The literal names MUST be lowercase. No other literal names are
allowed.
value = false / null / true / object / array / number / string
false = %x66.61.6c.73.65 ; false
null = %x6e.75.6c.6c ; null
true = %x74.72.75.65 ; true
2.2. Objects
An object structure is represented as a pair of curly brackets
surrounding zero or more name/value pairs (or members). A name is a
string. A single colon comes after each name, separating the name
from the value. A single comma separates a value from a following
name. The names within an object SHOULD be unique.
object = begin-object [ member *( value-separator member ) ]
end-object
member = string name-separator value
2.3. Arrays
An array structure is represented as square brackets surrounding zero
or more values (or elements). Elements are separated by commas.
array = begin-array [ value *( value-separator value ) ] end-array
2.4. Numbers
The representation of numbers is similar to that used in most
programming languages. A number contains an integer component that
may be prefixed with an optional minus sign, which may be followed by
a fraction part and/or an exponent part.
Octal and hex forms are not allowed. Leading zeros are not allowed.
A fraction part is a decimal point followed by one or more digits.
An exponent part begins with the letter E in upper or lowercase,
which may be followed by a plus or minus sign. The E and optional
sign are followed by one or more digits.
Numeric values that cannot be represented as sequences of digits
(such as Infinity and NaN) are not permitted.
Crockford Informational [Page 3]
RFC 4627 JSON July 2006
number = [ minus ] int [ frac ] [ exp ]
decimal-point = %x2E ; .
digit1-9 = %x31-39 ; 1-9
e = %x65 / %x45 ; e E
exp = e [ minus / plus ] 1*DIGIT
frac = decimal-point 1*DIGIT
int = zero / ( digit1-9 *DIGIT )
minus = %x2D ; -
plus = %x2B ; +
zero = %x30 ; 0
2.5. Strings
The representation of strings is similar to conventions used in the C
family of programming languages. A string begins and ends with
quotation marks. All Unicode characters may be placed within the
quotation marks except for the characters that must be escaped:
quotation mark, reverse solidus, and the control characters (U+0000
through U+001F).
Any character may be escaped. If the character is in the Basic
Multilingual Plane (U+0000 through U+FFFF), then it may be
represented as a six-character sequence: a reverse solidus, followed
by the lowercase letter u, followed by four hexadecimal digits that
encode the character's code point. The hexadecimal letters A though
F can be upper or lowercase. So, for example, a string containing
only a single reverse solidus character may be represented as
"\u005C".
Alternatively, there are two-character sequence escape
representations of some popular characters. So, for example, a
string containing only a single reverse solidus character may be
represented more compactly as "\\".
To escape an extended character that is not in the Basic Multilingual
Plane, the character is represented as a twelve-character sequence,
encoding the UTF-16 surrogate pair. So, for example, a string
containing only the G clef character (U+1D11E) may be represented as
"\uD834\uDD1E".
Crockford Informational [Page 4]
RFC 4627 JSON July 2006
string = quotation-mark *char quotation-mark
char = unescaped /
escape (
%x22 / ; " quotation mark U+0022
%x5C / ; \ reverse solidus U+005C
%x2F / ; / solidus U+002F
%x62 / ; b backspace U+0008
%x66 / ; f form feed U+000C
%x6E / ; n line feed U+000A
%x72 / ; r carriage return U+000D
%x74 / ; t tab U+0009
%x75 4HEXDIG ) ; uXXXX U+XXXX
escape = %x5C ; \
quotation-mark = %x22 ; "
unescaped = %x20-21 / %x23-5B / %x5D-10FFFF
3. Encoding
JSON text SHALL be encoded in Unicode. The default encoding is
UTF-8.
Since the first two characters of a JSON text will always be ASCII
characters [RFC0020], it is possible to determine whether an octet
stream is UTF-8, UTF-16 (BE or LE), or UTF-32 (BE or LE) by looking
at the pattern of nulls in the first four octets.
00 00 00 xx UTF-32BE
00 xx 00 xx UTF-16BE
xx 00 00 00 UTF-32LE
xx 00 xx 00 UTF-16LE
xx xx xx xx UTF-8
4. Parsers
A JSON parser transforms a JSON text into another representation. A
JSON parser MUST accept all texts that conform to the JSON grammar.
A JSON parser MAY accept non-JSON forms or extensions.
An implementation may set limits on the size of texts that it
accepts. An implementation may set limits on the maximum depth of
nesting. An implementation may set limits on the range of numbers.
An implementation may set limits on the length and character contents
of strings.
Crockford Informational [Page 5]
RFC 4627 JSON July 2006
5. Generators
A JSON generator produces JSON text. The resulting text MUST
strictly conform to the JSON grammar.
6. IANA Considerations
The MIME media type for JSON text is application/json.
Type name: application
Subtype name: json
Required parameters: n/a
Optional parameters: n/a
Encoding considerations: 8bit if UTF-8; binary if UTF-16 or UTF-32
JSON may be represented using UTF-8, UTF-16, or UTF-32. When JSON
is written in UTF-8, JSON is 8bit compatible. When JSON is
written in UTF-16 or UTF-32, the binary content-transfer-encoding
must be used.
Security considerations:
Generally there are security issues with scripting languages. JSON
is a subset of JavaScript, but it is a safe subset that excludes
assignment and invocation.
A JSON text can be safely passed into JavaScript's eval() function
(which compiles and executes a string) if all the characters not
enclosed in strings are in the set of characters that form JSON
tokens. This can be quickly determined in JavaScript with two
regular expressions and calls to the test and replace methods.
var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(
text.replace(/"(\\.|[^"\\])*"/g, ''))) &&
eval('(' + text + ')');
Interoperability considerations: n/a
Published specification: RFC 4627
Crockford Informational [Page 6]
RFC 4627 JSON July 2006
Applications that use this media type:
JSON has been used to exchange data between applications written
in all of these programming languages: ActionScript, C, C#,
ColdFusion, Common Lisp, E, Erlang, Java, JavaScript, Lua,
Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Scheme.
Additional information:
Magic number(s): n/a
File extension(s): .json
Macintosh file type code(s): TEXT
Person & email address to contact for further information:
Douglas Crockford
douglas@crockford.com
Intended usage: COMMON
Restrictions on usage: none
Author:
Douglas Crockford
douglas@crockford.com
Change controller:
Douglas Crockford
douglas@crockford.com
7. Security Considerations
See Security Considerations in Section 6.
8. Examples
This is a JSON object:
{
"Image": {
"Width": 800,
"Height": 600,
"Title": "View from 15th Floor",
"Thumbnail": {
"Url": "http://www.example.com/image/481989943",
"Height": 125,
"Width": "100"
},
"IDs": [116, 943, 234, 38793]
Crockford Informational [Page 7]
RFC 4627 JSON July 2006
}
}
Its Image member is an object whose Thumbnail member is an object
and whose IDs member is an array of numbers.
This is a JSON array containing two objects:
[
{
"precision": "zip",
"Latitude": 37.7668,
"Longitude": -122.3959,
"Address": "",
"City": "SAN FRANCISCO",
"State": "CA",
"Zip": "94107",
"Country": "US"
},
{
"precision": "zip",
"Latitude": 37.371991,
"Longitude": -122.026020,
"Address": "",
"City": "SUNNYVALE",
"State": "CA",
"Zip": "94085",
"Country": "US"
}
]
9. References
9.1. Normative References
[ECMA] European Computer Manufacturers Association, "ECMAScript
Language Specification 3rd Edition", December 1999,
<http://www.ecma-international.org/publications/files/
ecma-st/ECMA-262.pdf>.
[RFC0020] Cerf, V., "ASCII format for network interchange", RFC 20,
October 1969.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 4234, October 2005.
Crockford Informational [Page 8]
RFC 4627 JSON July 2006
[UNICODE] The Unicode Consortium, "The Unicode Standard Version 4.0",
2003, <http://www.unicode.org/versions/Unicode4.1.0/>.
Author's Address
Douglas Crockford
JSON.org
EMail: douglas@crockford.com
Crockford Informational [Page 9]
RFC 4627 JSON July 2006
Full Copyright Statement
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Crockford Informational [Page 10]
================================================
FILE: src/main/java/META-INF/MANIFEST.MF
================================================
Manifest-Version: 1.1.35
Class-Path:
================================================
FILE: src/main/java/com/alibaba/fastjson/JSON.java
================================================
/*
* Copyright 1999-2017 Alibaba Group.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.fastjson;
import java.io.*;
import java.lang.reflect.Array;
import java.lang.reflect.Type;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.zip.GZIPInputStream;
import com.alibaba.fastjson.annotation.JSONType;
import com.alibaba.fastjson.parser.*;
import com.alibaba.fastjson.parser.deserializer.ExtraProcessor;
import com.alibaba.fastjson.parser.deserializer.ExtraTypeProvider;
import com.alibaba.fastjson.parser.deserializer.FieldTypeResolver;
import com.alibaba.fastjson.parser.deserializer.ParseProcess;
import com.alibaba.fastjson.serializer.*;
import com.alibaba.fastjson.util.IOUtils;
import com.alibaba.fastjson.util.TypeUtils;
/**
* This is the main class for using Fastjson. You usually call these two methods {@link #toJSONString(Object)} and {@link #parseObject(String, Class)}.
*
* <p>Here is an example of how fastjson is used for a simple Class:
*
* <pre>
* Model model = new Model();
* String json = JSON.toJSONString(model); // serializes model to Json
* Model model2 = JSON.parseObject(json, Model.class); // deserializes json into model2
* </pre>
*
* <p>If the object that your are serializing/deserializing is a {@code ParameterizedType}
* (i.e. contains at least one type parameter and may be an array) then you must use the
* {@link #toJSONString(Object)} or {@link #parseObject(String, Type, Feature[])} method. Here is an
* example for serializing and deserialing a {@code ParameterizedType}:
*
* <pre>
* String json = "[{},...]";
* Type listType = new TypeReference<List<Model>>() {}.getType();
* List<Model> modelList = JSON.parseObject(json, listType);
* </pre>
*
* @see com.alibaba.fastjson.TypeReference
*
* @author wenshao[szujobs@hotmail.com]
*/
public abstract class JSON implements JSONStreamAware, JSONAware {
public static TimeZone defaultTimeZone = TimeZone.getDefault();
public static Locale defaultLocale = Locale.getDefault();
public static String DEFAULT_TYPE_KEY = "@type";
static final SerializeFilter[] emptyFilters = new SerializeFilter[0];
public static String DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
public static int DEFAULT_PARSER_FEATURE;
public static int DEFAULT_GENERATE_FEATURE;
private static final ConcurrentHashMap<Type, Type> mixInsMapper = new ConcurrentHashMap<Type, Type>(16);
static {
int features = 0;
features |= Feature.AutoCloseSource.getMask();
features |= Feature.InternFieldNames.getMask();
features |= Feature.UseBigDecimal.getMask();
features |= Feature.AllowUnQuotedFieldNames.getMask();
features |= Feature.AllowSingleQuotes.getMask();
features |= Feature.AllowArbitraryCommas.getMask();
features |= Feature.SortFeidFastMatch.getMask();
features |= Feature.IgnoreNotMatch.getMask();
DEFAULT_PARSER_FEATURE = features;
}
static {
int features = 0;
features |= SerializerFeature.QuoteFieldNames.getMask();
features |= SerializerFeature.SkipTransientField.getMask();
features |= SerializerFeature.WriteEnumUsingName.getMask();
features |= SerializerFeature.SortField.getMask();
DEFAULT_GENERATE_FEATURE = features;
config(IOUtils.DEFAULT_PROPERTIES);
}
private static void config(Properties properties) {
{
String featuresProperty = properties.getProperty("fastjson.serializerFeatures.MapSortField");
int mask = SerializerFeature.MapSortField.getMask();
if ("true".equals(featuresProperty)) {
DEFAULT_GENERATE_FEATURE |= mask;
} else if ("false".equals(featuresProperty)) {
DEFAULT_GENERATE_FEATURE &= ~mask;
}
}
{
if ("true".equals(properties.getProperty("parser.features.NonStringKeyAsString"))) {
DEFAULT_PARSER_FEATURE |= Feature.NonStringKeyAsString.getMask();
}
}
{
if ("true".equals(properties.getProperty("parser.features.ErrorOnEnumNotMatch"))
|| "true".equals(properties.getProperty("fastjson.parser.features.ErrorOnEnumNotMatch")))
{
DEFAULT_PARSER_FEATURE |= Feature.ErrorOnEnumNotMatch.getMask();
}
}
{
if ("false".equals(properties.getProperty("fastjson.asmEnable"))) {
ParserConfig.global.setAsmEnable(false);
SerializeConfig.globalInstance.setAsmEnable(false);
}
}
}
/**
* config default type key
* @since 1.2.14
*/
public static void setDefaultTypeKey(String typeKey) {
DEFAULT_TYPE_KEY = typeKey;
ParserConfig.global.symbolTable.addSymbol(typeKey,
0,
typeKey.length(),
typeKey.hashCode(), true);
}
public static Object parse(String text) {
return parse(text, DEFAULT_PARSER_FEATURE);
}
/**
*
* @since 1.2.38
*/
public static Object parse(String text, ParserConfig config) {
return parse(text, config, DEFAULT_PARSER_FEATURE);
}
/**
*
* @since 1.2.68
*/
public static Object parse(String text, ParserConfig config, Feature... features) {
int featureValues = DEFAULT_PARSER_FEATURE;
for (Feature feature : features) {
featureValues = Feature.config(featureValues, feature, true);
}
return parse(text, config, featureValues);
}
/**
*
* @since 1.2.38
*/
public static Object parse(String text, ParserConfig config, int features) {
if (text == null) {
return null;
}
DefaultJSONParser parser = new DefaultJSONParser(text, config, features);
Object value = parser.parse();
parser.handleResovleTask(value);
parser.close();
return value;
}
public static Object parse(String text, int features) {
return parse(text, ParserConfig.getGlobalInstance(), features);
}
public static Object parse(byte[] input, Feature... features) {
char[] chars = allocateChars(input.length);
int len = IOUtils.decodeUTF8(input, 0, input.length, chars);
if (len < 0) {
return null;
}
return parse(new String(chars, 0, len), features);
}
public static Object parse(byte[] input, int off, int len, CharsetDecoder charsetDecoder, Feature... features) {
if (input == null || input.length == 0) {
return null;
}
int featureValues = DEFAULT_PARSER_FEATURE;
for (Feature feature : features) {
featureValues = Feature.config(featureValues, feature, true);
}
return parse(input, off, len, charsetDecoder, featureValues);
}
public static Object parse(byte[] input, int off, int len, CharsetDecoder charsetDecoder, int features) {
charsetDecoder.reset();
int scaleLength = (int) (len * (double) charsetDecoder.maxCharsPerByte());
char[] chars = allocateChars(scaleLength);
ByteBuffer byteBuf = ByteBuffer.wrap(input, off, len);
CharBuffer charBuf = CharBuffer.wrap(chars);
IOUtils.decode(charsetDecoder, byteBuf, charBuf);
int position = charBuf.position();
DefaultJSONParser parser = new DefaultJSONParser(chars, position, ParserConfig.getGlobalInstance(), features);
Object value = parser.parse();
parser.handleResovleTask(value);
parser.close();
return value;
}
public static Object parse(String text, Feature... features) {
int featureValues = DEFAULT_PARSER_FEATURE;
for (Feature feature : features) {
featureValues = Feature.config(featureValues, feature, true);
}
return parse(text, featureValues);
}
public static JSONObject parseObject(String text, Feature... features) {
return (JSONObject) parse(text, features);
}
public static JSONObject parseObject(String text) {
Object obj = parse(text);
if (obj instanceof JSONObject) {
return (JSONObject) obj;
}
try {
return (JSONObject) JSON.toJSON(obj);
} catch (RuntimeException e) {
throw new JSONException("can not cast to JSONObject.", e);
}
}
/**
* <pre>
* String jsonStr = "[{\"id\":1001,\"name\":\"Jobs\"}]";
* List<Model> models = JSON.parseObject(jsonStr, new TypeReference<List<Model>>() {});
* </pre>
* @param text json string
* @param type type refernce
* @param features parser features
* @return an object of type T from the string
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(String text, TypeReference<T> type, Feature... features) {
return (T) parseObject(text, type.type, ParserConfig.global, DEFAULT_PARSER_FEATURE, features);
}
/**
*
* This method deserializes the specified Json into an object of the specified class. It is not
* suitable to use if the specified class is a generic type since it will not have the generic
* type information because of the Type Erasure feature of Java. Therefore, this method should not
* be used if the desired type is a generic type. Note that this method works fine if the any of
* the fields of the specified object are generics, just the object itself should not be a
* generic type. For the cases when the object is of generic type, invoke
* {@link #parseObject(String, Type, Feature[])}. If you have the Json in a {@link InputStream} instead of
* a String, use {@link #parseObject(InputStream, Type, Feature[])} instead.
*
* @param json the string from which the object is to be deserialized
* @param clazz the class of T
* @param features parser features
* @return an object of type T from the string
* classOfT
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(String json, Class<T> clazz, Feature... features) {
return (T) parseObject(json, (Type) clazz, ParserConfig.global, null, DEFAULT_PARSER_FEATURE, features);
}
@SuppressWarnings("unchecked")
public static <T> T parseObject(String text, Class<T> clazz, ParseProcess processor, Feature... features) {
return (T) parseObject(text, (Type) clazz, ParserConfig.global, processor, DEFAULT_PARSER_FEATURE,
features);
}
/**
* This method deserializes the specified Json into an object of the specified type. This method
* is useful if the specified object is a generic type. For non-generic objects, use
* {@link #parseObject(String, Class, Feature[])} instead. If you have the Json in a {@link InputStream} instead of
* a String, use {@link #parseObject(InputStream, Type, Feature[])} instead.
*
* @param <T> the type of the desired object
* @param json the string from which the object is to be deserialized
* @param type The specific genericized type of src. You can obtain this type by using the
* {@link com.alibaba.fastjson.TypeReference} class. For example, to get the type for
* {@code Collection<Foo>}, you should use:
* <pre>
* Type type = new TypeReference<Collection<Foo>>(){}.getType();
* </pre>
* @return an object of type T from the string
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(String json, Type type, Feature... features) {
return (T) parseObject(json, type, ParserConfig.global, DEFAULT_PARSER_FEATURE, features);
}
@SuppressWarnings("unchecked")
public static <T> T parseObject(String input, Type clazz, ParseProcess processor, Feature... features) {
return (T) parseObject(input, clazz, ParserConfig.global, processor, DEFAULT_PARSER_FEATURE, features);
}
@SuppressWarnings("unchecked")
public static <T> T parseObject(String input, Type clazz, int featureValues, Feature... features) {
if (input == null) {
return null;
}
for (Feature feature : features) {
featureValues = Feature.config(featureValues, feature, true);
}
DefaultJSONParser parser = new DefaultJSONParser(input, ParserConfig.getGlobalInstance(), featureValues);
T value = (T) parser.parseObject(clazz);
parser.handleResovleTask(value);
parser.close();
return (T) value;
}
/**
* @since 1.2.11
*/
public static <T> T parseObject(String input, Type clazz, ParserConfig config, Feature... features) {
return parseObject(input, clazz, config, null, DEFAULT_PARSER_FEATURE, features);
}
public static <T> T parseObject(String input, Type clazz, ParserConfig config, int featureValues,
Feature... features) {
return parseObject(input, clazz, config, null, featureValues, features);
}
@SuppressWarnings("unchecked")
public static <T> T parseObject(String input, Type clazz, ParserConfig config, ParseProcess processor,
int featureValues, Feature... features) {
if (input == null || input.length() == 0) {
return null;
}
if (features != null) {
for (Feature feature : features) {
featureValues |= feature.mask;
}
}
DefaultJSONParser parser = new DefaultJSONParser(input, config, featureValues);
if (processor != null) {
if (processor instanceof ExtraTypeProvider) {
parser.getExtraTypeProviders().add((ExtraTypeProvider) processor);
}
if (processor instanceof ExtraProcessor) {
parser.getExtraProcessors().add((ExtraProcessor) processor);
}
if (processor instanceof FieldTypeResolver) {
parser.setFieldTypeResolver((FieldTypeResolver) processor);
}
}
T value = (T) parser.parseObject(clazz, null);
parser.handleResovleTask(value);
parser.close();
return (T) value;
}
@SuppressWarnings("unchecked")
public static <T> T parseObject(byte[] bytes, Type clazz, Feature... features) {
return (T) parseObject(bytes, 0, bytes.length, IOUtils.UTF8, clazz, features);
}
/**
* @since 1.2.11
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(byte[] bytes, int offset, int len, Charset charset, Type clazz, Feature... features) {
return (T) parseObject(bytes, offset, len, charset, clazz, ParserConfig.global, null, DEFAULT_PARSER_FEATURE, features);
}
/**
* @since 1.2.55
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(byte[] bytes,
Charset charset,
Type clazz,
ParserConfig config,
ParseProcess processor,
int featureValues,
Feature... features) {
return (T) parseObject(bytes, 0, bytes.length, charset, clazz, config, processor, featureValues, features);
}
/**
* @since 1.2.55
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(byte[] bytes, int offset, int len,
Charset charset,
Type clazz,
ParserConfig config,
ParseProcess processor,
int featureValues,
Feature... features) {
if (charset == null) {
charset = IOUtils.UTF8;
}
String strVal = null;
if (charset == IOUtils.UTF8) {
char[] chars = allocateChars(bytes.length);
int chars_len = IOUtils.decodeUTF8(bytes, offset, len, chars);
if (chars_len < 0) {
InputStreamReader gzipReader = null;
try {
gzipReader = new InputStreamReader(
new GZIPInputStream(
new ByteArrayInputStream(bytes, offset, len)), "UTF-8");
strVal = IOUtils.readAll(gzipReader);
} catch (Exception ex) {
return null;
} finally {
IOUtils.close(gzipReader);
}
}
if (strVal == null && chars_len < 0) {
return null;
}
if (strVal == null) {
strVal = new String(chars, 0, chars_len);
}
} else {
if (len < 0) {
return null;
}
strVal = new String(bytes, offset, len, charset);
}
return (T) parseObject(strVal, clazz, config, processor, featureValues, features);
}
@SuppressWarnings("unchecked")
public static <T> T parseObject(byte[] input, //
int off, //
int len, //
CharsetDecoder charsetDecoder, //
Type clazz, //
Feature... features) {
charsetDecoder.reset();
int scaleLength = (int) (len * (double) charsetDecoder.maxCharsPerByte());
char[] chars = allocateChars(scaleLength);
ByteBuffer byteBuf = ByteBuffer.wrap(input, off, len);
CharBuffer charByte = CharBuffer.wrap(chars);
IOUtils.decode(charsetDecoder, byteBuf, charByte);
int position = charByte.position();
return (T) parseObject(chars, position, clazz, features);
}
@SuppressWarnings("unchecked")
public static <T> T parseObject(char[] input, int length, Type clazz, Feature... features) {
if (input == null || input.length == 0) {
return null;
}
int featureValues = DEFAULT_PARSER_FEATURE;
for (Feature feature : features) {
featureValues = Feature.config(featureValues, feature, true);
}
DefaultJSONParser parser = new DefaultJSONParser(input, length, ParserConfig.getGlobalInstance(), featureValues);
T value = (T) parser.parseObject(clazz);
parser.handleResovleTask(value);
parser.close();
return (T) value;
}
/**
* @since 1.2.11
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(InputStream is, //
Type type, //
Feature... features) throws IOException {
return (T) parseObject(is, IOUtils.UTF8, type, features);
}
/**
* @since 1.2.11
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(InputStream is, //
Charset charset, //
Type type, //
Feature... features) throws IOException {
return (T) parseObject(is, charset, type, ParserConfig.global, features);
}
/**
* @since 1.2.55
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(InputStream is, //
Charset charset, //
Type type, //
ParserConfig config, //
Feature... features) throws IOException {
return (T) parseObject(is, charset, type, config, null, DEFAULT_PARSER_FEATURE, features);
}
/**
* @since 1.2.55
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(InputStream is, //
Charset charset, //
Type type, //
ParserConfig config, //
ParseProcess processor, //
int featureValues, //
Feature... features) throws IOException {
if (charset == null) {
charset = IOUtils.UTF8;
}
byte[] bytes = allocateBytes(1024 * 64);
int offset = 0;
for (;;) {
int readCount = is.read(bytes, offset, bytes.length - offset);
if (readCount == -1) {
break;
}
offset += readCount;
if (offset == bytes.length) {
byte[] newBytes = new byte[bytes.length * 3 / 2];
System.arraycopy(bytes, 0, newBytes, 0, bytes.length);
bytes = newBytes;
}
}
return (T) parseObject(bytes, 0, offset, charset, type, config, processor, featureValues, features);
}
public static <T> T parseObject(String text, Class<T> clazz) {
return parseObject(text, clazz, new Feature[0]);
}
public static JSONArray parseArray(String text) {
return parseArray(text, ParserConfig.global);
}
public static JSONArray parseArray(String text, ParserConfig parserConfig) {
if (text == null) {
return null;
}
DefaultJSONParser parser = new DefaultJSONParser(text, parserConfig);
JSONArray array;
JSONLexer lexer = parser.lexer;
if (lexer.token() == JSONToken.NULL) {
lexer.nextToken();
array = null;
} else if (lexer.token() == JSONToken.EOF && lexer.isBlankInput()) {
array = null;
} else {
array = new JSONArray();
parser.parseArray(array);
parser.handleResovleTask(array);
}
parser.close();
return array;
}
public static <T> List<T> parseArray(String text, Class<T> clazz) {
return parseArray(text, clazz, ParserConfig.global);
}
public static <T> List<T> parseArray(String text, Class<T> clazz, ParserConfig config) {
if (text == null) {
return null;
}
List<T> list;
DefaultJSONParser parser = new DefaultJSONParser(text, config);
JSONLexer lexer = parser.lexer;
int token = lexer.token();
if (token == JSONToken.NULL) {
lexer.nextToken();
list = null;
} else if (token == JSONToken.EOF && lexer.isBlankInput()) {
list = null;
} else {
list = new ArrayList<T>();
parser.parseArray(clazz, list);
parser.handleResovleTask(list);
}
parser.close();
return list;
}
public static List<Object> parseArray(String text, Type[] types) {
return parseArray(text, types, ParserConfig.global);
}
public static List<Object> parseArray(String text, Type[] types, ParserConfig config) {
if (text == null) {
return null;
}
List<Object> list;
DefaultJSONParser parser = new DefaultJSONParser(text, config);
Object[] objectArray = parser.parseArray(types);
if (objectArray == null) {
list = null;
} else {
list = Arrays.asList(objectArray);
}
parser.handleResovleTask(list);
parser.close();
return list;
}
/**
* This method serializes the specified object into its equivalent Json representation. Note that this method works fine if the any of the object fields are of generic type,
* just the object itself should not be of a generic type. If you want to write out the object to a
* {@link Writer}, use {@link #writeJSONString(Writer, Object, SerializerFeature[])} instead.
*
* @param object the object for which json representation is to be created setting for fastjson
* @return Json representation of {@code object}.
*/
public static String toJSONString(Object object) {
return toJSONString(object, emptyFilters);
}
public static String toJSONString(Object object, SerializerFeature... features) {
return toJSONString(object, DEFAULT_GENERATE_FEATURE, features);
}
/**
* @since 1.2.11
*/
public static String toJSONString(Object object, int defaultFeatures, SerializerFeature... features) {
SerializeWriter out = new SerializeWriter((Writer) null, defaultFeatures, features);
try {
JSONSerializer serializer = new JSONSerializer(out);
serializer.write(object);
String outString = out.toString();
int len = outString.length();
if (len > 0
&& outString.charAt(len -1) == '.'
&& object instanceof Number
&& !out.isEnabled(SerializerFeature.WriteClassName)) {
return outString.substring(0, len - 1);
}
return outString;
} finally {
out.close();
}
}
/**
* @since 1.1.14
*/
public static String toJSONStringWithDateFormat(Object object, String dateFormat,
SerializerFeature... features) {
return toJSONString(object, SerializeConfig.globalInstance, null, dateFormat, DEFAULT_GENERATE_FEATURE, features);
}
public static String toJSONString(Object object, SerializeFilter filter, SerializerFeature... features) {
return toJSONString(object, SerializeConfig.globalInstance, new SerializeFilter[] {filter}, null, DEFAULT_GENERATE_FEATURE, features);
}
public static String toJSONString(Object object, SerializeFilter[] filters, SerializerFeature... features) {
return toJSONString(object, SerializeConfig.globalInstance, filters, null, DEFAULT_GENERATE_FEATURE, features);
}
public static byte[] toJSONBytes(Object object, SerializerFeature... features) {
return toJSONBytes(object, DEFAULT_GENERATE_FEATURE, features);
}
public static byte[] toJSONBytes(Object object, SerializeFilter filter, SerializerFeature... features) {
return toJSONBytes(object, SerializeConfig.globalInstance, new SerializeFilter[] {filter}, DEFAULT_GENERATE_FEATURE, features);
}
/**
* @since 1.2.11
*/
public static byte[] toJSONBytes(Object object, int defaultFeatures, SerializerFeature... features) {
return toJSONBytes(object, SerializeConfig.globalInstance, defaultFeatures, features);
}
public static String toJSONString(Object object, SerializeConfig config, SerializerFeature... features) {
return toJSONString(object, config, (SerializeFilter) null, features);
}
public static String toJSONString(Object object, //
SerializeConfig config, //
SerializeFilter filter, //
SerializerFeature... features) {
return toJSONString(object, config, new SerializeFilter[] {filter}, null, DEFAULT_GENERATE_FEATURE, features);
}
public static String toJSONString(Object object, //
SerializeConfig config, //
SerializeFilter[] filters, //
SerializerFeature... features) {
return toJSONString(object, config, filters, null, DEFAULT_GENERATE_FEATURE, features);
}
/**
* @since 1.2.9
* @return
*/
public static String toJSONString(Object object, //
SerializeConfig config, //
SerializeFilter[] filters, //
String dateFormat, //
int defaultFeatures, //
SerializerFeature... features) {
SerializeWriter out = new SerializeWriter(null, defaultFeatures, features);
try {
JSONSerializer serializer = new JSONSerializer(out, config);
if (dateFormat != null && dateFormat.length() != 0) {
serializer.setDateFormat(dateFormat);
serializer.config(SerializerFeature.WriteDateUseDateFormat, true);
}
if (filters != null) {
for (SerializeFilter filter : filters) {
serializer.addFilter(filter);
}
}
serializer.write(object);
return out.toString();
} finally {
out.close();
}
}
/**
* @deprecated
*/
public static String toJSONStringZ(Object object, SerializeConfig mapping, SerializerFeature... features) {
return toJSONString(object, mapping, emptyFilters, null, 0, features);
}
/**
* @since 1.2.42
*/
public static byte[] toJSONBytes(Object object, SerializeConfig config, SerializerFeature... features) {
return toJSONBytes(object, config, emptyFilters, DEFAULT_GENERATE_FEATURE, features);
}
/**
* @since 1.2.11
*/
public static byte[] toJSONBytes(Object object, SerializeConfig config, int defaultFeatures, SerializerFeature... features) {
return toJSONBytes(object, config, emptyFilters, defaultFeatures, features);
}
/**
* @since 1.2.42
*/
public static byte[] toJSONBytes(Object object, SerializeFilter[] filters, SerializerFeature... features) {
return toJSONBytes(object, SerializeConfig.globalInstance, filters, DEFAULT_GENERATE_FEATURE, features);
}
public static byte[] toJSONBytes(Object object, SerializeConfig config, SerializeFilter filter, SerializerFeature... features) {
return toJSONBytes(object, config, new SerializeFilter[] {filter}, DEFAULT_GENERATE_FEATURE, features);
}
/**
* @since 1.2.42
*/
public static byte[] toJSONBytes(Object object, SerializeConfig config, SerializeFilter[] filters, int defaultFeatures, SerializerFeature... features) {
return toJSONBytes(object, config, filters, null, defaultFeatures, features);
}
/**
* @since 1.2.55
*/
public static byte[] toJSONBytes(Object object, SerializeConfig config, SerializeFilter[] filters, String dateFormat, int defaultFeatures, SerializerFeature... features) {
return toJSONBytes(IOUtils.UTF8, object, config, filters, dateFormat, defaultFeatures, features);
}
/**
* @since 1.2.55
*/
public static byte[] toJSONBytes(Charset charset, //
Object object, //
SerializeConfig config, //
SerializeFilter[] filters, //
String dateFormat, //
int defaultFeatures, //
SerializerFeature... features) {
SerializeWriter out = new SerializeWriter(null, defaultFeatures, features);
try {
JSONSerializer serializer = new JSONSerializer(out, config);
if (dateFormat != null && dateFormat.length() != 0) {
serializer.setDateFormat(dateFormat);
serializer.config(SerializerFeature.WriteDateUseDateFormat, true);
}
if (filters != null) {
for (SerializeFilter filter : filters) {
serializer.addFilter(filter);
}
}
serializer.write(object);
return out.toBytes(charset);
} finally {
out.close();
}
}
/**
* Use the date format in FastJsonConfig to serialize JSON
*
* @param dateFormat the date format in FastJsonConfigs
* @since 1.2.55
*/
public static byte[] toJSONBytesWithFastJsonConfig(Charset charset, //
Object object, //
SerializeConfig config, //
SerializeFilter[] filters, //
String dateFormat, //
int defaultFeatures, //
SerializerFeature... features) {
SerializeWriter out = new SerializeWriter(null, defaultFeatures, features);
try {
JSONSerializer serializer = new JSONSerializer(out, config);
if (dateFormat != null && dateFormat.length() != 0) {
serializer.setFastJsonConfigDateFormatPattern(dateFormat);
serializer.config(SerializerFeature.WriteDateUseDateFormat, true);
}
if (filters != null) {
for (SerializeFilter filter : filters) {
serializer.addFilter(filter);
}
}
serializer.write(object);
return out.toBytes(charset);
} finally {
out.close();
}
}
public static String toJSONString(Object object, boolean prettyFormat) {
if (!prettyFormat) {
return toJSONString(object);
}
return toJSONString(object, SerializerFeature.PrettyFormat);
}
/**
* @deprecated use writeJSONString
*/
public static void writeJSONStringTo(Object object, Writer writer, SerializerFeature... features) {
writeJSONString(writer, object, features);
}
/**
* This method serializes the specified object into its equivalent json representation.
*
* @param writer Writer to which the json representation needs to be written
* @param object the object for which json representation is to be created setting for fastjson
* @param features serializer features
* @since 1.2.11
*/
public static void writeJSONString(Writer writer, Object object, SerializerFeature... features) {
writeJSONString(writer, object, JSON.DEFAULT_GENERATE_FEATURE, features);
}
/**
* @since 1.2.11
*/
public static void writeJSONString(Writer writer, Object object, int defaultFeatures, SerializerFeature... features) {
SerializeWriter out = new SerializeWriter(writer, defaultFeatures, features);
try {
JSONSerializer serializer = new JSONSerializer(out);
serializer.write(object);
} finally {
out.close();
}
}
/**
* write object as json to OutputStream
* @param os output stream
* @param object
* @param features serializer features
* @since 1.2.11
* @throws IOException
*/
public static final int writeJSONString(OutputStream os, //
Object object, //
SerializerFeature... features) throws IOException {
return writeJSONString(os, object, DEFAULT_GENERATE_FEATURE, features);
}
/**
* @since 1.2.11
*/
public static final int writeJSONString(OutputStream os, //
Object object, //
int defaultFeatures, //
SerializerFeature... features) throws IOException {
return writeJSONString(os, //
IOUtils.UTF8, //
object, //
SerializeConfig.globalInstance, //
null, //
null, //
defaultFeatures, //
features);
}
public static final int writeJSONString(OutputStream os, //
Charset charset, //
Object object, //
SerializerFeature... features) throws IOException {
return writeJSONString(os, //
charset, //
object, //
SerializeConfig.globalInstance, //
null, //
null, //
DEFAULT_GENERATE_FEATURE, //
features);
}
public static final int writeJSONString(OutputStream os, //
Charset charset, //
Object object, //
SerializeConfig config, //
SerializeFilter[] filters, //
String dateFormat, //
int defaultFeatures, //
SerializerFeature... features) throws IOException {
SerializeWriter writer = new SerializeWriter(null, defaultFeatures, features);
try {
JSONSerializer serializer = new JSONSerializer(writer, config);
if (dateFormat != null && dateFormat.length() != 0) {
serializer.setDateFormat(dateFormat);
serializer.config(SerializerFeature.WriteDateUseDateFormat, true);
}
if (filters != null) {
for (SerializeFilter filter : filters) {
serializer.addFilter(filter);
}
}
serializer.write(object);
int len = writer.writeToEx(os, charset);
return len;
} finally {
writer.close();
}
}
public static final int writeJSONStringWithFastJsonConfig(OutputStream os, //
Charset charset, //
Object object, //
SerializeConfig config, //
SerializeFilter[] filters, //
String dateFormat, //
int defaultFeatures, //
SerializerFeature... features) throws IOException {
SerializeWriter writer = new SerializeWriter(null, defaultFeatures, features);
try {
JSONSerializer serializer = new JSONSerializer(writer, config);
if (dateFormat != null && dateFormat.length() != 0) {
serializer.setFastJsonConfigDateFormatPattern(dateFormat);
serializer.config(SerializerFeature.WriteDateUseDateFormat, true);
}
if (filters != null) {
for (SerializeFilter filter : filters) {
serializer.addFilter(filter);
}
}
serializer.write(object);
int len = writer.writeToEx(os, charset);
return len;
} finally {
writer.close();
}
}
// ======================================
@Override
public String toString() {
return toJSONString();
}
public String toJSONString() {
SerializeWriter out = new SerializeWriter();
try {
new JSONSerializer(out).write(this);
return out.toString();
} finally {
out.close();
}
}
/**
* @since 1.2.57
*/
public String toString(SerializerFeature... features) {
SerializeWriter out = new SerializeWriter(null, JSON.DEFAULT_GENERATE_FEATURE, features);
try {
new JSONSerializer(out).write(this);
return out.toString();
} finally {
out.close();
}
}
public void writeJSONString(Appendable appendable) {
SerializeWriter out = new SerializeWriter();
try {
new JSONSerializer(out).write(this);
appendable.append(out.toString());
} catch (IOException e) {
throw new JSONException(e.getMessage(), e);
} finally {
out.close();
}
}
/**
* This method serializes the specified object into its equivalent representation as a tree of
* {@link JSONObject}s.
*
*/
public static Object toJSON(Object javaObject) {
return toJSON(javaObject, SerializeConfig.globalInstance);
}
/**
* @deprecated
*/
public static Object toJSON(Object javaObject, ParserConfig parserConfig) {
return toJSON(javaObject, SerializeConfig.globalInstance);
}
@SuppressWarnings("unchecked")
public static Object toJSON(Object javaObject, SerializeConfig config) {
if (javaObject == null) {
return null;
}
if (javaObject instanceof JSON) {
return javaObject;
}
if (javaObject instanceof Map) {
Map<Object, Object> map = (Map<Object, Object>) javaObject;
int size = map.size();
Map innerMap;
if (map instanceof LinkedHashMap) {
innerMap = new LinkedHashMap(size);
} else if (map instanceof TreeMap) {
innerMap = new TreeMap();
} else {
innerMap = new HashMap(size);
}
JSONObject json = new JSONObject(innerMap);
for (Map.Entry<Object, Object> entry : map.entrySet()) {
Object key = entry.getKey();
String jsonKey = TypeUtils.castToString(key);
Object jsonValue = toJSON(entry.getValue(), config);
json.put(jsonKey, jsonValue);
}
return json;
}
if (javaObject instanceof Collection) {
Collection<Object> collection = (Collection<Object>) javaObject;
JSONArray array = new JSONArray(collection.size());
for (Object item : collection) {
Object jsonValue = toJSON(item, config);
array.add(jsonValue);
}
return array;
}
if (javaObject instanceof JSONSerializable) {
String json = JSON.toJSONString(javaObject);
return JSON.parse(json);
}
Class<?> clazz = javaObject.getClass();
if (clazz.isEnum()) {
return ((Enum<?>) javaObject).name();
}
if (clazz.isArray()) {
int len = Array.getLength(javaObject);
JSONArray array = new JSONArray(len);
for (int i = 0; i < len; ++i) {
Object item = Array.get(javaObject, i);
Object jsonValue = toJSON(item);
array.add(jsonValue);
}
return array;
}
if (ParserConfig.isPrimitive2(clazz)) {
return javaObject;
}
ObjectSerializer serializer = config.getObjectWriter(clazz);
if (serializer instanceof JavaBeanSerializer) {
JavaBeanSerializer javaBeanSerializer = (JavaBeanSerializer) serializer;
JSONType jsonType = javaBeanSerializer.getJSONType();
boolean ordered = false;
if (jsonType != null) {
for (SerializerFeature serializerFeature : jsonType.serialzeFeatures()) {
if (serializerFeature == SerializerFeature.SortField
|| serializerFeature == SerializerFeature.MapSortField) {
ordered = true;
}
}
}
JSONObject json = new JSONObject(ordered);
try {
Map<String, Object> values = javaBeanSerializer.getFieldValuesMap(javaObject);
for (Map.Entry<String, Object> entry : values.entrySet()) {
json.put(entry.getKey(), toJSON(entry.getValue(), config));
}
} catch (Exception e) {
throw new JSONException("toJSON error", e);
}
return json;
}
String text = JSON.toJSONString(javaObject, config);
return JSON.parse(text);
}
public static <T> T toJavaObject(JSON json, Class<T> clazz) {
return TypeUtils.cast(json, clazz, ParserConfig.getGlobalInstance());
}
/**
* @since 1.2.9
*/
public <T> T toJavaObject(Class<T> clazz) {
if (clazz == JSONArray.class || clazz == JSON.class || clazz == Collection.class || clazz == List.class) {
return (T) this;
}
return TypeUtils.cast(this, clazz, ParserConfig.getGlobalInstance());
}
/**
* @since 1.2.33
*/
public <T> T toJavaObject(Type type) {
return TypeUtils.cast(this, type, ParserConfig.getGlobalInstance());
}
/**
* @since 1.2.33
*/
public <T> T toJavaObject(TypeReference typeReference) {
Type type = typeReference != null ? typeReference.getType() : null;
return TypeUtils.cast(this, type, ParserConfig.getGlobalInstance());
}
private final static ThreadLocal<byte[]> bytesLocal = new ThreadLocal<byte[]>();
private static byte[] allocateBytes(int length) {
byte[] chars = bytesLocal.get();
if (chars == null) {
if (length <= 1024 * 64) {
chars = new byte[1024 * 64];
bytesLocal.set(chars);
} else {
chars = new byte[length];
}
} else if (chars.length < length) {
chars = new byte[length];
}
return chars;
}
private final static ThreadLocal<char[]> charsLocal = new ThreadLocal<char[]>();
private static char[] allocateChars(int length) {
char[] chars = charsLocal.get();
if (chars == null) {
if (length <= 1024 * 64) {
chars = new char[1024 * 64];
charsLocal.set(chars);
} else {
chars = new char[length];
}
} else if (chars.length < length) {
chars = new char[length];
}
return chars;
}
/**
* @deprecated Please use {@link com.alibaba.fastjson.JSONValidator} instead.
*/
public static boolean isValid(String str) {
if (str == null || str.length() == 0) {
return false;
}
JSONScanner lexer = new JSONScanner(str);
try {
lexer.nextToken();
final int token = lexer.token();
switch (token) {
case JSONToken.LBRACE:
if (lexer.getCurrent() == JSONLexer.EOI) {
return false;
}
lexer.skipObject(true);
break;
case JSONToken.LBRACKET:
lexer.skipArray(true);
break;
case JSONToken.LITERAL_INT:
case JSONToken.LITERAL_STRING:
case JSONToken.LITERAL_FLOAT:
case JSONToken.LITERAL_ISO8601_DATE:
case JSONToken.NULL:
case JSONToken.TRUE:
case JSONToken.FALSE:
lexer.nextToken();
break;
default:
return false;
}
return lexer.token() == JSONToken.EOF;
} catch (Exception ex) {
return false;
} finally {
lexer.close();
}
}
/**
* @deprecated Please use {@link com.alibaba.fastjson.JSONValidator} instead.
*/
public static boolean isValidObject(String str) {
if (str == null || str.length() == 0) {
return false;
}
JSONScanner lexer = new JSONScanner(str);
try {
lexer.nextToken();
final int token = lexer.token();
if (token == JSONToken.LBRACE) {
if (lexer.getCurrent() == JSONLexer.EOI) {
return false;
}
lexer.skipObject(true);
return lexer.token() == JSONToken.EOF;
}
return false;
} catch (Exception ex) {
return false;
} finally {
lexer.close();
}
}
/**
* @deprecated Please use {@link com.alibaba.fastjson.JSONValidator} instead.
*/
public static boolean isValidArray(String str) {
if (str == null || str.length() == 0) {
return false;
}
JSONScanner lexer = new JSONScanner(str);
try {
lexer.nextToken();
final int token = lexer.token();
if (token == JSONToken.LBRACKET) {
lexer.skipArray(true);
return lexer.token() == JSONToken.EOF;
}
return false;
} catch (Exception ex) {
return false;
} finally {
lexer.close();
}
}
public static <T> void handleResovleTask(DefaultJSONParser parser, T value) {
parser.handleResovleTask(value);
}
public static void addMixInAnnotations(Type target, Type mixinSource) {
if (target != null && mixinSource != null) {
mixInsMapper.put(target, mixinSource);
}
}
public static void removeMixInAnnotations(Type target) {
if (target != null) {
mixInsMapper.remove(target);
}
}
public static void clearMixInAnnotations() {
mixInsMapper.clear();
}
public static Type getMixInAnnotations(Type target) {
if (target != null) {
return mixInsMapper.get(target);
}
return null;
}
public final static String VERSION = "1.2.84";
}
================================================
FILE: src/main/java/com/alibaba/fastjson/JSONArray.java
================================================
/*
* Copyright 1999-2017 Alibaba Group.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.fastjson;
import static com.alibaba.fastjson.util.TypeUtils.castToBigDecimal;
import static com.alibaba.fastjson.util.TypeUtils.castToBigInteger;
import static com.alibaba.fastjson.util.TypeUtils.castToBoolean;
import static com.alibaba.fastjson.util.TypeUtils.castToByte;
import static com.alibaba.fastjson.util.TypeUtils.castToDate;
import static com.alibaba.fastjson.util.TypeUtils.castToDouble;
import static com.alibaba.fastjson.util.TypeUtils.castToFloat;
import static com.alibaba.fastjson.util.TypeUtils.castToInt;
import static com.alibaba.fastjson.util.TypeUtils.castToLong;
import static com.alibaba.fastjson.util.TypeUtils.castToShort;
import static com.alibaba.fastjson.util.TypeUtils.castToSqlDate;
import static com.alibaba.fastjson.util.TypeUtils.castToString;
import static com.alibaba.fastjson.util.TypeUtils.castToTimestamp;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.util.TypeUtils;
/**
* @author wenshao[szujobs@hotmail.com]
*/
public class JSONArray extends JSON implements List<Object>, Cloneable, RandomAccess, Serializable {
private static final long serialVersionUID = 1L;
private final List<Object> list;
protected transient Object relatedArray;
protected transient Type componentType;
public JSONArray(){
this.list = new ArrayList<Object>();
}
public JSONArray(List<Object> list){
if (list == null){
throw new IllegalArgumentException("list is null.");
}
this.list = list;
}
public JSONArray(int initialCapacity){
this.list = new ArrayList<Object>(initialCapacity);
}
/**
* @since 1.1.16
* @return
*/
public Object getRelatedArray() {
return relatedArray;
}
public void setRelatedArray(Object relatedArray) {
this.relatedArray = relatedArray;
}
public Type getComponentType() {
return componentType;
}
public void setComponentType(Type componentType) {
this.componentType = componentType;
}
public int size() {
return list.size();
}
public boolean isEmpty() {
return list.isEmpty();
}
public boolean contains(Object o) {
return list.contains(o);
}
public Iterator<Object> iterator() {
return list.iterator();
}
public Object[] toArray() {
return list.toArray();
}
public <T> T[] toArray(T[] a) {
return list.toArray(a);
}
public boolean add(Object e) {
return list.add(e);
}
public JSONArray fluentAdd(Object e) {
list.add(e);
return this;
}
public boolean remove(Object o) {
return list.remove(o);
}
public JSONArray fluentRemove(Object o) {
list.remove(o);
return this;
}
public boolean containsAll(Collection<?> c) {
return list.containsAll(c);
}
public boolean addAll(Collection<?> c) {
return list.addAll(c);
}
public JSONArray fluentAddAll(Collection<?> c) {
list.addAll(c);
return this;
}
public boolean addAll(int index, Collection<?> c) {
return list.addAll(index, c);
}
public JSONArray fluentAddAll(int index, Collection<?> c) {
list.addAll(index, c);
return this;
}
public boolean removeAll(Collection<?> c) {
return list.removeAll(c);
}
public JSONArray fluentRemoveAll(Collection<?> c) {
list.removeAll(c);
return this;
}
public boolean retainAll(Collection<?> c) {
return list.retainAll(c);
}
public JSONArray fluentRetainAll(Collection<?> c) {
list.retainAll(c);
return this;
}
public void clear() {
list.clear();
}
public JSONArray fluentClear() {
list.clear();
return this;
}
public Object set(int index, Object element) {
if (index == -1) {
list.add(element);
return null;
}
if (list.size() <= index) {
for (int i = list.size(); i < index; ++i) {
list.add(null);
}
list.add(element);
return null;
}
return list.set(index, element);
}
public JSONArray fluentSet(int index, Object element) {
set(index, element);
return this;
}
public void add(int index, Object element) {
list.add(index, element);
}
public JSONArray fluentAdd(int index, Object element) {
list.add(index, element);
return this;
}
public Object remove(int index) {
return list.remove(index);
}
public JSONArray fluentRemove(int index) {
list.remove(index);
return this;
}
public int indexOf(Object o) {
return list.indexOf(o);
}
public int lastIndexOf(Object o) {
return list.lastIndexOf(o);
}
public ListIterator<Object> listIterator() {
return list.listIterator();
}
public ListIterator<Object> listIterator(int index) {
return list.listIterator(index);
}
public List<Object> subList(int fromIndex, int toIndex) {
return list.subList(fromIndex, toIndex);
}
public Object get(int index) {
return list.get(index);
}
public JSONObject getJSONObject(int index) {
Object value = list.get(index);
if (value instanceof JSONObject) {
return (JSONObject) value;
}
if (value instanceof Map) {
return new JSONObject((Map) value);
}
return (JSONObject) toJSON(value);
}
public JSONArray getJSONArray(int index) {
Object value = list.get(index);
if (value instanceof JSONArray) {
return (JSONArray) value;
}
if (value instanceof List) {
return new JSONArray((List) value);
}
return (JSONArray) toJSON(value);
}
public <T> T getObject(int index, Class<T> clazz) {
Object obj = list.get(index);
return TypeUtils.castToJavaBean(obj, clazz);
}
public <T> T getObject(int index, Type type) {
Object obj = list.get(index);
if (type instanceof Class) {
return (T) TypeUtils.castToJavaBean(obj, (Class) type);
} else {
String json = JSON.toJSONString(obj);
return (T) JSON.parseObject(json, type);
}
}
public Boolean getBoolean(int index) {
Object value = get(index);
if (value == null) {
return null;
}
return castToBoolean(value);
}
public boolean getBooleanValue(int index) {
Object value = get(index);
if (value == null) {
return false;
}
return castToBoolean(value).booleanValue();
}
public Byte getByte(int index) {
Object value = get(index);
return castToByte(value);
}
public byte getByteValue(int index) {
Object value = get(index);
Byte byteVal = castToByte(value);
if (byteVal == null) {
return 0;
}
return byteVal;
}
public Short getShort(int index) {
Object value = get(index);
return castToShort(value);
}
public short getShortValue(int index) {
Object value = get(index);
Short shortVal = castToShort(value);
if (shortVal == null) {
return 0;
}
return shortVal;
}
public Integer getInteger(int index) {
Object value = get(index);
return castToInt(value);
}
public int getIntValue(int index) {
Object value = get(index);
Integer intVal = castToInt(value);
if (intVal == null) {
return 0;
}
return intVal;
}
public Long getLong(int index) {
Object value = get(index);
return castToLong(value);
}
public long getLongValue(int index) {
Object value = get(index);
Long longVal = castToLong(value);
if (longVal == null) {
return 0L;
}
return longVal;
}
public Float getFloat(int index) {
Object value = get(index);
return castToFloat(value);
}
public float getFloatValue(int index) {
Object value = get(index);
Float floatValue = castToFloat(value);
if (floatValue == null) {
return 0F;
}
return floatValue;
}
public Double getDouble(int index) {
Object value = get(index);
return castToDouble(value);
}
public double getDoubleValue(int index) {
Object value = get(index);
Double doubleValue = castToDouble(value);
if (doubleValue == null) {
return 0D;
}
return doubleValue;
}
public BigDecimal getBigDecimal(int index) {
Object value = get(index);
return castToBigDecimal(value);
}
public BigInteger getBigInteger(int index) {
Object value = get(index);
return castToBigInteger(value);
}
public String getString(int index) {
Object value = get(index);
return castToString(value);
}
public java.util.Date getDate(int index) {
Object value = get(index);
return castToDate(value);
}
public Object getSqlDate(int index) {
Object value = get(index);
return castToSqlDate(value);
}
public Object getTimestamp(int index) {
Object value = get(index);
return castToTimestamp(value);
}
/**
* @since 1.2.23
*/
public <T> List<T> toJavaList(Class<T> clazz) {
List<T> list = new ArrayList<T>(this.size());
ParserConfig config = ParserConfig.getGlobalInstance();
for (Object item : this) {
T classItem = (T) TypeUtils.cast(item, clazz, config);
list.add(classItem);
}
return list;
}
@Override
public Object clone() {
return new JSONArray(new ArrayList<Object>(list));
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj instanceof JSONArray) {
return this.list.equals(((JSONArray) obj).list);
}
return this.list.equals(obj);
}
public int hashCode() {
return this.list.hashCode();
}
}
================================================
FILE: src/main/java/com/alibaba/fastjson/JSONAware.java
================================================
/*
* Copyright 1999-2017 Alibaba Group.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.fastjson;
/**
* Beans that support customized output of JSON text shall implement this interface.
*
* @author wenshao[szujobs@hotmail.com]
*/
public interface JSONAware {
/**
* @return JSON text
*/
String toJSONString();
}
================================================
FILE: src/main/java/com/alibaba/fastjson/JSONException.java
================================================
/*
* Copyright 1999-2019 Alibaba Group.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.fastjson;
/**
* @author wenshao[szujobs@hotmail.com]
*/
@SuppressWarnings("serial")
public class JSONException extends RuntimeException {
public JSONException() {
super();
}
public JSONException(String message) {
super(message);
}
public JSONException(String message, Throwable cause) {
super(message, cause);
}
}
================================================
FILE: src/main/java/com/alibaba/fastjson/JSONObject.java
================================================
/*
* Copyright 1999-2017 Alibaba Group.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.fastjson;
import static com.alibaba.fastjson.util.TypeUtils.castToBigDecimal;
import static com.alibaba.fastjson.util.TypeUtils.castToBigInteger;
import static com.alibaba.fastjson.util.TypeUtils.castToBoolean;
import static com.alibaba.fastjson.util.TypeUtils.castToByte;
import static com.alibaba.fastjson.util.TypeUtils.castToBytes;
import static com.alibaba.fastjson.util.TypeUtils.castToDate;
import static com.alibaba.fastjson.util.TypeUtils.castToDouble;
import static com.alibaba.fastjson.util.TypeUtils.castToFloat;
import static com.alibaba.fastjson.util.TypeUtils.castToInt;
import static com.alibaba.fastjson.util.TypeUtils.castToLong;
import static com.alibaba.fastjson.util.TypeUtils.castToShort;
import static com.alibaba.fastjson.util.TypeUtils.castToSqlDate;
import static com.alibaba.fastjson.util.TypeUtils.castToTimestamp;
import java.io.*;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.parser.Feature;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.util.TypeUtils;
/**
* @author wenshao[szujobs@hotmail.com]
*/
public class JSONObject extends JSON implements Map<String, Object>, Cloneable, Serializable, InvocationHandler {
private static final long serialVersionUID = 1L;
private static final int DEFAULT_INITIAL_CAPACITY = 16;
private final Map<String, Object> map;
public JSONObject(){
this(DEFAULT_INITIAL_CAPACITY, false);
}
public JSONObject(Map<String, Object> map){
if (map == null) {
throw new IllegalArgumentException("map is null.");
}
this.map = map;
}
public JSONObject(boolean ordered){
this(DEFAULT_INITIAL_CAPACITY, ordered);
}
public JSONObject(int initialCapacity){
this(initialCapacity, false);
}
public JSONObject(int initialCapacity, boolean ordered){
if (ordered) {
map = new LinkedHashMap<String, Object>(initialCapacity);
} else {
map = new HashMap<String, Object>(initialCapacity);
}
}
public int size() {
return map.size();
}
public boolean isEmpty() {
return map.isEmpty();
}
public boolean containsKey(Object key) {
boolean result = map.containsKey(key);
if (!result) {
if (key instanceof Number
|| key instanceof Character
|| key instanceof Boolean
|| key instanceof UUID
) {
result = map.containsKey(key.toString());
}
}
return result;
}
public boolean containsValue(Object value) {
return map.containsValue(value);
}
public Object get(Object key) {
Object val = map.get(key);
if (val == null) {
if (key instanceof Number
|| key instanceof Character
|| key instanceof Boolean
|| key instanceof UUID
) {
val = map.get(key.toString());
}
}
return val;
}
public Object getOrDefault(Object key, Object defaultValue) {
Object v;
return ((v = get(key)) != null) ? v : defaultValue;
}
public JSONObject getJSONObject(String key) {
Object value = map.get(key);
if (value instanceof JSONObject) {
return (JSONObject) value;
}
if (value instanceof Map) {
return new JSONObject((Map) value);
}
if (value instanceof String) {
return JSON.parseObject((String) value);
}
return (JSONObject) toJSON(value);
}
public JSONArray getJSONArray(String key) {
Object value = map.get(key);
if (value instanceof JSONArray) {
return (JSONArray) value;
}
if (value instanceof List) {
return new JSONArray((List) value);
}
if (value instanceof String) {
return (JSONArray) JSON.parse((String) value);
}
return (JSONArray) toJSON(value);
}
public <T> T getObject(String key, Class<T> clazz) {
Object obj = map.get(key);
return TypeUtils.castToJavaBean(obj, clazz);
}
public <T> T getObject(String key, Type type) {
Object obj = map.get(key);
return TypeUtils.cast(obj, type, ParserConfig.getGlobalInstance());
}
public <T> T getObject(String key, TypeReference typeReference) {
Object obj = map.get(key);
if (typeReference == null) {
return (T) obj;
}
return TypeUtils.cast(obj, typeReference.getType(), ParserConfig.getGlobalInstance());
}
public Boolean getBoolean(String key) {
Object value = get(key);
if (value == null) {
return null;
}
return castToBoolean(value);
}
public byte[] getBytes(String key) {
Object value = get(key);
if (value == null) {
return null;
}
return castToBytes(value);
}
public boolean getBooleanValue(String key) {
Object value = get(key);
Boolean booleanVal = castToBoolean(value);
if (booleanVal == null) {
return false;
}
return booleanVal.booleanValue();
}
public Byte getByte(String key) {
Object value = get(key);
return castToByte(value);
}
public byte getByteValue(String key) {
Object value = get(key);
Byte byteVal = castToByte(value);
if (byteVal == null) {
return 0;
}
return byteVal.byteValue();
}
public Short getShort(String key) {
Object value = get(key);
return castToShort(value);
}
public short getShortValue(String key) {
Object value = get(key);
Short shortVal = castToShort(value);
if (shortVal == null) {
return 0;
}
return shortVal.shortValue();
}
public Integer getInteger(String key) {
Object value = get(key);
return castToInt(value);
}
public int getIntValue(String key) {
Object value = get(key);
Integer intVal = castToInt(value);
if (intVal == null) {
return 0;
}
return intVal.intValue();
}
public Long getLong(String key) {
Object value = get(key);
return castToLong(value);
}
public long getLongValue(String key) {
Object value = get(key);
Long longVal = castToLong(value);
if (longVal == null) {
return 0L;
}
return longVal.longValue();
}
public Float getFloat(String key) {
Object value = get(key);
return castToFloat(value);
}
public float getFloatValue(String key) {
Object value = get(key);
Float floatValue = castToFloat(value);
if (floatValue == null) {
return 0F;
}
return floatValue.floatValue();
}
public Double getDouble(String key) {
Object value = get(key);
return castToDouble(value);
}
public double getDoubleValue(String key) {
Object value = get(key);
Double doubleValue = castToDouble(value);
if (doubleValue == null) {
return 0D;
}
return doubleValue.doubleValue();
}
public BigDecimal getBigDecimal(String key) {
Object value = get(key);
return castToBigDecimal(value);
}
public BigInteger getBigInteger(String key) {
Object value = get(key);
return castToBigInteger(value);
}
public String getString(String key) {
Object value = get(key);
if (value == null) {
return null;
}
return value.toString();
}
public Date getDate(String key) {
Object value = get(key);
return castToDate(value);
}
public Object getSqlDate(String key) {
Object value = get(key);
return castToSqlDate(value);
}
public Object getTimestamp(String key) {
Object value = get(key);
return castToTimestamp(value);
}
public Object put(String key, Object value) {
return map.put(key, value);
}
public JSONObject fluentPut(String key, Object value) {
map.put(key, value);
return this;
}
public void putAll(Map<? extends String, ?> m) {
map.putAll(m);
}
public JSONObject fluentPutAll(Map<? extends String, ?> m) {
map.putAll(m);
return this;
}
public void clear() {
map.clear();
}
public JSONObject fluentClear() {
map.clear();
return this;
}
public Object remove(Object key) {
return map.remove(key);
}
public JSONObject fluentRemove(Object key) {
map.remove(key);
return this;
}
public Set<String> keySet() {
return map.keySet();
}
public Collection<Object> values() {
return map.values();
}
public Set<Map.Entry<String, Object>> entrySet() {
return map.entrySet();
}
@Override
public JSONObject clone() {
return new JSONObject(map instanceof LinkedHashMap //
? new LinkedHashMap<String, Object>(map) //
: new HashMap<String, Object>(map)
);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj instanceof JSONObject) {
return this.map.equals(((JSONObject) obj).map);
}
return this.map.equals(obj);
}
@Override
public int hashCode() {
return this.map.hashCode();
}
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
Class<?>[] parameterTypes = method.getParameterTypes();
if (parameterTypes.length == 1) {
if (method.getName().equals("equals")) {
return this.equals(args[0]);
}
Class<?> returnType = method.getReturnType();
if (returnType != void.class) {
throw new JSONException("illegal setter");
}
String name = null;
JSONField annotation = TypeUtils.getAnnotation(method, JSONField.class);
if (annotation != null) {
if (annotation.name().length() != 0) {
name = annotation.name();
}
}
if (name == null) {
name = method.getName();
if (!name.startsWith("set")) {
throw new JSONException("illegal setter");
}
name = name.substring(3);
if (name.length() == 0) {
throw new JSONException("illegal setter");
}
name = Character.toLowerCase(name.charAt(0)) + name.substring(1);
}
map.put(name, args[0]);
return null;
}
if (parameterTypes.length == 0) {
Class<?> returnType = method.getReturnType();
if (returnType == void.class) {
throw new JSONException("illegal getter");
}
String name = null;
JSONField annotation = TypeUtils.getAnnotation(method, JSONField.class);
if (annotation != null) {
if (annotation.name().length() != 0) {
name = annotation.name();
}
}
if (name == null) {
name = method.getName();
if (name.startsWith("get")) {
name = name.substring(3);
if (name.length() == 0) {
throw new JSONException("illegal getter");
}
name = Character.toLowerCase(name.charAt(0)) + name.substring(1);
} else if (name.startsWith("is")) {
name = name.substring(2);
if (name.length() == 0) {
throw new JSONException("illegal getter");
}
name = Character.toLowerCase(name.charAt(0)) + name.substring(1);
} else if (name.startsWith("hashCode")) {
return this.hashCode();
} else if (name.startsWith("toString")) {
return this.toString();
} else {
throw new JSONException("illegal getter");
}
}
Object value = map.get(name);
return TypeUtils.cast(value, method.getGenericReturnType(), ParserConfig.getGlobalInstance());
}
throw new UnsupportedOperationException(method.toGenericString());
}
public Map<String, Object> getInnerMap() {
return this.map;
}
public <T> T toJavaObject(Class<T> clazz) {
if (clazz == Map.class || clazz == JSONObject.class || clazz == JSON.class) {
return (T) this;
}
if (clazz == Object.class && !containsKey(JSON.DEFAULT_TYPE_KEY)) {
return (T) this;
}
return TypeUtils.castToJavaBean(this, clazz, ParserConfig.getGlobalInstance());
}
public <T> T toJavaObject(Class<T> clazz, ParserConfig config, int features) {
if (clazz == Map.class) {
return (T) this;
}
if (clazz == Object.class && !containsKey(JSON.DEFAULT_TYPE_KEY)) {
return (T) this;
}
return TypeUtils.castToJavaBean(this, clazz, config);
}
}
================================================
FILE: src/main/java/com/alibaba/fastjson/JSONPObject.java
================================================
package com.alibaba.fastjson;
import com.alibaba.fastjson.serializer.JSONSerializable;
import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.SerializeWriter;
import com.alibaba.fastjson.serializer.SerializerFeature;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
public class JSONPObject implements JSONSerializable {
public static String SECURITY_PREFIX = "/**/";
private String function;
private final List<Object> parameters = new ArrayList<Object>();
public JSONPObject() {
}
public JSONPObject(String function) {
this.function = function;
}
public String getFunction() {
return function;
}
public void setFunction(String function) {
this.function = function;
}
public List<Object> getParameters() {
return parameters;
}
public void addParameter(Object parameter) {
this.parameters.add(parameter);
}
public String toJSONString() {
return toString();
}
public void write(JSONSerializer serializer, Object fieldName, Type fieldType, int features) throws IOException {
SerializeWriter writer = serializer.out;
if ((features & SerializerFeature.BrowserSecure.mask) != 0
|| (writer.isEnabled(SerializerFeature.BrowserSecure.mask)))
{
writer.write(SECURITY_PREFIX);
}
writer.write(function);
writer.write('(');
for (int i = 0; i < parameters.size(); ++i) {
if (i != 0) {
writer.write(',');
}
serializer.write(parameters.get(i));
}
writer.write(')');
}
public String toString() {
return JSON.toJSONString(this);
}
}
================================================
FILE: src/main/java/com/alibaba/fastjson/JSONPatch.java
================================================
package com.alibaba.fastjson;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.annotation.JSONType;
import com.alibaba.fastjson.parser.Feature;
import com.alibaba.fastjson.parser.JSONScanner;
public class JSONPatch {
public static String apply(String original, String patch) {
Object object
= apply(
JSON.parse(original, Feature.OrderedField), patch);
return JSON.toJSONString(object);
}
public static Object apply(Object object, String patch) {
Operation[] operations;
if (isObject(patch)) {
operations = new Operation[] {
JSON.parseObject(patch, Operation.class)};
} else {
operations = JSON.parseObject(patch, Operation[].class);
}
for (Operation op : operations) {
JSONPath path = JSONPath.compile(op.path);
switch (op.type) {
case add:
path.patchAdd(object, op.value, false);
break;
case replace:
path.patchAdd(object, op.value, true);
break;
case remove:
path.remove(object);
break;
case copy:
case move:
JSONPath from = JSONPath.compile(op.from);
Object fromValue = from.eval(object);
if (op.type == OperationType.move) {
boolean success = from.remove(object);
if (!success) {
throw new JSONException("json patch move error : " + op.from + " -> " + op.path);
}
}
path.set(object, fromValue);
break;
case test:
Object result = path.eval(object);
if (result == null) {
return op.value == null;
}
return result.equals(op.value);
default:
break;
}
}
return object;
}
private static boolean isObject(String patch) {
if (patch == null) {
return false;
}
for (int i = 0; i < patch.length(); ++i) {
char ch = patch.charAt(i);
if (JSONScanner.isWhitespace(ch)) {
continue;
}
return ch == '{';
}
return false;
}
@JSONType(orders = {"op", "from", "path", "value"})
public static class Operation {
@JSONField(name = "op")
public OperationType type;
public String from;
public String path;
public Object value;
}
public enum OperationType {
add, remove, replace, move, copy, test
}
}
================================================
FILE: src/main/java/com/alibaba/fastjson/JSONPath.java
================================================
package com.alibaba.fastjson;
import com.alibaba.fastjson.parser.DefaultJSONParser;
import com.alibaba.fastjson.parser.Feature;
import com.alibaba.fastjson.parser.JSONLexer;
import com.alibaba.fastjson.parser.JSONLexerBase;
import com.alibaba.fastjson.parser.JSONToken;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.parser.deserializer.FieldDeserializer;
import com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer;
import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer;
import com.alibaba.fastjson.serializer.FieldSerializer;
import com.alibaba.fastjson.serializer.JavaBeanSerializer;
import com.alibaba.fastjson.serializer.ObjectSerializer;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.util.IOUtils;
import com.alibaba.fastjson.util.TypeUtils;
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.IdentityHashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author wenshao[szujobs@hotmail.com]
* @since 1.2.0
*/
public class JSONPath implements JSONAware {
private static ConcurrentMap<String, JSONPath> pathCache = new ConcurrentHashMap<String, JSONPath>(128, 0.75f, 1);
private final String path;
private Segment[] segments;
private boolean hasRefSegment;
private SerializeConfig serializeConfig;
private ParserConfig parserConfig;
private boolean ignoreNullValue;
public JSONPath(String path){
this(path, SerializeConfig.getGlobalInstance(), ParserConfig.getGlobalInstance(), true);
}
public JSONPath(String path, boolean ignoreNullValue){
this(path, SerializeConfig.getGlobalInstance(), ParserConfig.getGlobalInstance(), ignoreNullValue);
}
public JSONPath(String path, SerializeConfig serializeConfig, ParserConfig parserConfig, boolean ignoreNullValue){
if (path == null || path.length() == 0) {
throw new JSONPathException("json-path can not be null or empty");
}
this.path = path;
this.serializeConfig = serializeConfig;
this.parserConfig = parserConfig;
this.ignoreNullValue = ignoreNullValue;
}
protected void init() {
if (segments != null) {
return;
}
if ("*".equals(path)) {
this.segments = new Segment[] { WildCardSegment.instance };
} else {
JSONPathParser parser = new JSONPathParser(path);
this.segments = parser.explain();
this.hasRefSegment = parser.hasRefSegment;
}
}
public boolean isRef() {
try {
init();
for (int i = 0; i < segments.length; ++i) {
Segment segment = segments[i];
Class segmentType = segment.getClass();
if (segmentType == ArrayAccessSegment.class
|| segmentType == PropertySegment.class) {
continue;
}
return false;
}
return true;
} catch (JSONPathException ex) {
// skip
return false;
}
}
public Object eval(Object rootObject) {
if (rootObject == null) {
return null;
}
init();
Object currentObject = rootObject;
for (int i = 0; i < segments.length; ++i) {
Segment segment = segments[i];
currentObject = segment.eval(this, rootObject, currentObject);
}
return currentObject;
}
/**
* @since 1.2.76
* @param rootObject
* @param clazz
* @param parserConfig
* @return
*/
public <T> T eval(Object rootObject, Type clazz, ParserConfig parserConfig) {
Object obj = this.eval(rootObject);
return TypeUtils.cast(obj, clazz, parserConfig);
}
/**
* @since 1.2.76
* @param rootObject
* @param clazz
* @return
*/
public <T> T eval(Object rootObject, Type clazz) {
return this.eval(rootObject, clazz, ParserConfig.getGlobalInstance());
}
public Object extract(DefaultJSONParser parser) {
if (parser == null) {
return null;
}
init();
if (hasRefSegment) {
Object root = parser.parse();
return this.eval(root);
}
if (segments.length == 0) {
return parser.parse();
}
Segment lastSegment = segments[segments.length - 1];
if (lastSegment instanceof TypeSegment
|| lastSegment instanceof FloorSegment
|| lastSegment instanceof MultiIndexSegment) {
return eval(
parser.parse());
}
Context context = null;
for (int i = 0; i < segments.length; ++i) {
Segment segment = segments[i];
boolean last = i == segments.length - 1;
if (context != null && context.object != null) {
context.object = segment.eval(this, null, context.object);
continue;
}
boolean eval;
if (!last) {
Segment nextSegment = segments[i + 1];
if (segment instanceof PropertySegment
&& ((PropertySegment) segment).deep
&& (nextSegment instanceof ArrayAccessSegment
|| nextSegment instanceof MultiIndexSegment
|| nextSegment instanceof MultiPropertySegment
|| nextSegment instanceof SizeSegment
|| nextSegment instanceof PropertySegment
|| nextSegment instanceof FilterSegment))
{
eval = true;
} else if (nextSegment instanceof ArrayAccessSegment
&& ((ArrayAccessSegment) nextSegment).index < 0) {
eval = true;
} else if (nextSegment instanceof FilterSegment) {
eval = true;
} else if (segment instanceof WildCardSegment) {
eval = true;
}else if(segment instanceof MultiIndexSegment){
eval = true;
} else {
eval = false;
}
} else {
eval = true;
}
context = new Context(context, eval);
segment.extract(this, parser, context);
}
return context.object;
}
private static class Context {
final Context parent;
final boolean eval;
Object object;
public Context(Context parent, boolean eval) {
this.parent = parent;
this.eval = eval;
}
}
public boolean contains(Object rootObject) {
if (rootObject == null) {
return false;
}
init();
Object currentObject = rootObject;
for (int i = 0; i < segments.length; ++i) {
Object parentObject = currentObject;
currentObject = segments[i].eval(this, rootObject, currentObject);
if (currentObject == null) {
return false;
}
if (currentObject == Collections.EMPTY_LIST && parentObject instanceof List) {
return ((List) parentObject).contains(currentObject);
}
}
return true;
}
@SuppressWarnings("rawtypes")
public boolean containsValue(Object rootObject, Object value) {
Object currentObject = eval(rootObject);
if (currentObject == value) {
return true;
}
if (currentObject == null) {
return false;
}
if (currentObject instanceof Iterable) {
Iterator it = ((Iterable) currentObject).iterator();
while (it.hasNext()) {
Object item = it.next();
if (eq(item, value)) {
return true;
}
}
return false;
}
return eq(currentObject, value);
}
public int size(Object rootObject) {
if (rootObject == null) {
return -1;
}
init();
Object currentObject = rootObject;
for (int i = 0; i < segments.length; ++i) {
currentObject = segments[i].eval(this, rootObject, currentObject);
}
return evalSize(currentObject);
}
/**
* Extract keySet or field names from rootObject on this JSONPath.
*
* @param rootObject Can be a map or custom object. Array and Collection are not supported.
* @return Set of keys, or <code>null</code> if not supported.
*/
public Set<?> keySet(Object rootObject) {
if (rootObject == null) {
return null;
}
init();
Object currentObject = rootObject;
for (int i = 0; i < segments.length; ++i) {
currentObject = segments[i].eval(this, rootObject, currentObject);
}
return evalKeySet(currentObject);
}
public void patchAdd(Object rootObject, Object value, boolean replace) {
if (rootObject == null) {
return;
}
init();
Object currentObject = rootObject;
Object parentObject = null;
for (int i = 0; i < segments.length; ++i) {
parentObject = currentObject;
Segment segment = segments[i];
currentObject = segment.eval(this, rootObject, currentObject);
if (currentObject == null && i != segments.length - 1) {
if (segment instanceof PropertySegment) {
currentObject = new JSONObject();
((PropertySegment) segment).setValue(this, parentObject, currentObject);
}
}
}
Object result = currentObject;
if ((!replace) && result instanceof Collection) {
Collection collection = (Collection) result;
collection.add(value);
return;
}
Object newResult;
if (result != null && !replace) {
Class<?> resultClass = result.getClass();
if (resultClass.isArray()) {
int length = Array.getLength(result);
Object descArray = Array.newInstance(resultClass.getComponentType(), length + 1);
System.arraycopy(result, 0, descArray, 0, length);
Array.set(descArray, length, value);
newResult = descArray;
}
else if (Map.class.isAssignableFrom(resultClass)) {
newResult = value;
} else {
throw new JSONException("unsupported array put operation. " + resultClass);
}
} else {
newResult = value;
}
Segment lastSegment = segments[segments.length - 1];
if (lastSegment instanceof PropertySegment) {
PropertySegment propertySegment = (PropertySegment) lastSegment;
propertySegment.setValue(this, parentObject, newResult);
return;
}
if (lastSegment instanceof ArrayAccessSegment) {
((ArrayAccessSegment) lastSegment).setValue(this, parentObject, newResult);
return;
}
throw new UnsupportedOperationException();
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public void arrayAdd(Object rootObject, Object... values) {
if (values == null || values.length == 0) {
return;
}
if (rootObject == null) {
return;
}
init();
Object currentObject = rootObject;
Object parentObject = null;
for (int i = 0; i < segments.length; ++i) {
if (i == segments.length - 1) {
parentObject = currentObject;
}
currentObject = segments[i].eval(this, rootObject, currentObject);
}
Object result = currentObject;
if (result == null) {
throw new JSONPathException("value not found in path " + path);
}
if (result instanceof Collection) {
Collection collection = (Collection) result;
for (Object value : values) {
collection.add(value);
}
return;
}
Class<?> resultClass = result.getClass();
Object newResult;
if (resultClass.isArray()) {
int length = Array.getLength(result);
Object descArray = Array.newInstance(resultClass.getComponentType(), length + values.length);
System.arraycopy(result, 0, descArray, 0, length);
for (int i = 0; i < values.length; ++i) {
Array.set(descArray, length + i, values[i]);
}
newResult = descArray;
} else {
throw new JSONException("unsupported array put operation. " + resultClass);
}
Segment lastSegment = segments[segments.length - 1];
if (lastSegment instanceof PropertySegment) {
PropertySegment propertySegment = (PropertySegment) lastSegment;
propertySegment.setValue(this, parentObject, newResult);
return;
}
if (lastSegment instanceof ArrayAccessSegment) {
((ArrayAccessSegment) lastSegment).setValue(this, parentObject, newResult);
return;
}
throw new UnsupportedOperationException();
}
public boolean remove(Object rootObject) {
if (rootObject == null) {
return false;
}
init();
Object currentObject = rootObject;
Object parentObject = null;
Segment lastSegment = segments[segments.length - 1];
for (int i = 0; i < segments.length; ++i) {
if (i == segments.length - 1) {
parentObject = currentObject;
break;
}
Segment segement = segments[i];
if (i == segments.length - 2
&& lastSegment instanceof FilterSegment
&& segement instanceof PropertySegment
) {
FilterSegment filterSegment = (FilterSegment) lastSegment;
if (currentObject instanceof List) {
PropertySegment propertySegment = (PropertySegment) segement;
List list = (List) currentObject;
for (Iterator it = list.iterator();it.hasNext();) {
Object item = it.next();
Object result = propertySegment.eval(this, rootObject, item);
if (result instanceof Iterable) {
filterSegment.remove(this, rootObject, result);
} else if (result instanceof Map) {
if (filterSegment.filter.apply(this, rootObject, currentObject, result)) {
it.remove();
}
}
}
return true;
} else if (currentObject instanceof Map) {
PropertySegment propertySegment = (PropertySegment) segement;
Object result = propertySegment.eval(this, rootObject, currentObject);
if (result == null) {
return false;
}
if (result instanceof Map
&& filterSegment.filter.apply(this, rootObject, currentObject, result)) {
propertySegment.remove(this, currentObject);
return true;
}
}
}
currentObject = segement.eval(this, rootObject, currentObject);
if (currentObject == null) {
break;
}
}
if (parentObject == null) {
return false;
}
if (lastSegment instanceof PropertySegment) {
PropertySegment propertySegment = (PropertySegment) lastSegment;
if (parentObject instanceof Collection) {
if (segments.length > 1) {
Segment parentSegment = segments[segments.length - 2];
if (parentSegment instanceof RangeSegment || parentSegment instanceof MultiIndexSegment) {
Collection collection = (Collection) parentObject;
boolean removedOnce = false;
for (Object item : collection) {
boolean removed = propertySegment.remove(this, item);
if (removed) {
removedOnce = true;
}
}
return removedOnce;
}
}
}
return propertySegment.remove(this, parentObject);
}
if (lastSegment instanceof ArrayAccessSegment) {
return ((ArrayAccessSegment) lastSegment).remove(this, parentObject);
}
if (lastSegment instanceof FilterSegment) {
FilterSegment filterSegment = (FilterSegment) lastSegment;
return filterSegment.remove(this, rootObject, parentObject);
}
throw new UnsupportedOperationException();
}
public boolean set(Object rootObject, Object value) {
return set(rootObject, value, true);
}
public boolean set(Object rootObject, Object value, boolean p) {
if (rootObject == null) {
return false;
}
init();
Object currentObject = rootObject;
Object parentObject = null;
for (int i = 0; i < segments.length; ++i) {
// if (i == segments.length - 1) {
// parentObject = currentObject;
// break;
// }
//
parentObject = currentObject;
Segment segment = segments[i];
currentObject = segment.eval(this, rootObject, currentObject);
if (currentObject == null) {
Segment nextSegment = null;
if (i < segments.length - 1) {
nextSegment = segments[i + 1];
}
Object newObj = null;
if (nextSegment instanceof PropertySegment) {
JavaBeanDeserializer beanDeserializer = null;
Class<?> fieldClass = null;
if (segment instanceof PropertySegment) {
String propertyName = ((PropertySegment) segment).propertyName;
Class<?> parentClass = parentObject.getClass();
JavaBeanDeserializer parentBeanDeserializer = getJavaBeanDeserializer(parentClass);
if (parentBeanDeserializer != null) {
FieldDeserializer fieldDeserializer = parentBeanDeserializer.getFieldDeserializer(propertyName);
fieldClass = fieldDeserializer.fieldInfo.fieldClass;
beanDeserializer = getJavaBeanDeserializer(fieldClass);
}
}
if (beanDeserializer != null) {
if (beanDeserializer.beanInfo.defaultConstructor != null) {
newObj = beanDeserializer.createInstance(null, fieldClass);
} else {
return false;
}
} else {
newObj = new JSONObject();
}
} else if (nextSegment instanceof ArrayAccessSegment) {
newObj = new JSONArray();
}
if (newObj != null) {
if (segment instanceof PropertySegment) {
PropertySegment propSegement = (PropertySegment) segment;
propSegement.setValue(this, parentObject, newObj);
currentObject = newObj;
continue;
} else if (segment instanceof ArrayAccessSegment) {
ArrayAccessSegment arrayAccessSegement = (ArrayAccessSegment) segment;
arrayAccessSegement.setValue(this, parentObject, newObj);
currentObject = newObj;
continue;
}
}
break;
}
}
if (parentObject == null) {
return false;
}
Segment lastSegment = segments[segments.length - 1];
if (lastSegment instanceof PropertySegment) {
PropertySegment propertySegment = (PropertySegment) lastSegment;
propertySegment.setValue(this, parentObject, value);
return true;
}
if (lastSegment instanceof ArrayAccessSegment) {
return ((ArrayAccessSegment) lastSegment).setValue(this, parentObject, value);
}
throw new UnsupportedOperationException();
}
public static Object eval(Object rootObject, String path) {
JSONPath jsonpath = compile(path);
return jsonpath.eval(rootObject);
}
public static Object eval(Object rootObject, String path, boolean ignoreNullValue) {
JSONPath jsonpath = compile(path, ignoreNullValue);
return jsonpath.eval(rootObject);
}
public static int size(Object rootObject, String path) {
JSONPath jsonpath = compile(path);
Object result = jsonpath.eval(rootObject);
return jsonpath.evalSize(result);
}
/**
* Compile jsonPath and use it to extract keySet or field names from rootObject.
*
* @param rootObject Can be a map or custom object. Array and Collection are not supported.
* @param path JSONPath string to be compiled.
* @return Set of keys, or <code>null</code> if not supported.
*/
public static Set<?> keySet(Object rootObject, String path) {
JSONPath jsonpath = compile(path);
Object result = jsonpath.eval(rootObject);
return jsonpath.evalKeySet(result);
}
public static boolean contains(Object rootObject, String path) {
if (rootObject == null) {
return false;
}
JSONPath jsonpath = compile(path);
return jsonpath.contains(rootObject);
}
public static boolean containsValue(Object rootObject, String path, Object value) {
JSONPath jsonpath = compile(path);
return jsonpath.containsValue(rootObject, value);
}
public static void arrayAdd(Object rootObject, String path, Object... values) {
JSONPath jsonpath = compile(path);
jsonpath.arrayAdd(rootObject, values);
}
public static boolean set(Object rootObject, String path, Object value) {
JSONPath jsonpath = compile(path);
return jsonpath.set(rootObject, value);
}
public static boolean remove(Object root, String path) {
JSONPath jsonpath = compile(path);
return jsonpath.remove(root);
}
public static JSONPath compile(String path) {
if (path == null) {
throw new JSONPathException("jsonpath can not be null");
}
JSONPath jsonpath = pathCache.get(path);
if (jsonpath == null) {
jsonpath = new JSONPath(path);
if (pathCache.size() < 1024) {
pathCache.putIfAbsent(path, jsonpath);
jsonpath = pathCache.get(path);
}
}
return jsonpath;
}
public static JSONPath compile(String path, boolean ignoreNullValue) {
if (path == null) {
throw new JSONPathException("jsonpath can not be null");
}
JSONPath jsonpath = pathCache.get(path);
if (jsonpath == null) {
jsonpath = new JSONPath(path, ignoreNullValue);
if (pathCache.size() < 1024) {
pathCache.putIfAbsent(path, jsonpath);
jsonpath = pathCache.get(path);
}
}
return jsonpath;
}
/**
* @since 1.2.9
* @param json
* @param path
* @return
*/
public static Object read(String json, String path) {
return compile(path)
.eval(
JSON.parse(json)
);
}
/**
* @since 1.2.76
* @param json
* @param path
* @param clazz
* @param parserConfig
* @return
*/
public static <T> T read(String json, String path, Type clazz, ParserConfig parserConfig) {
return compile(path).eval(JSON.parse(json), clazz, parserConfig);
}
/**
* @since 1.2.76
* @param json
* @param path
* @param clazz
* @return
*/
public static <T> T read(String json, String path, Type clazz) {
return read(json, path, clazz, null);
}
/**
* @since 1.2.51
* @param json
* @param path
* @return
*/
public static Object extract(String json, String path, ParserConfig config, int features, Feature... optionFeatures) {
features |= Feature.OrderedField.mask;
DefaultJSONParser parser = new DefaultJSONParser(json, config, features);
JSONPath jsonPath = compile(path);
Object result = jsonPath.extract(parser);
parser.lexer.close();
return result;
}
public static Object extract(String json, String path) {
return extract(json, path, ParserConfig.global, JSON.DEFAULT_PARSER_FEATURE);
}
public static Map<String, Object> paths(Object javaObject) {
return paths(javaObject, SerializeConfig.globalInstance);
}
public static Map<String, Object> paths(Object javaObject, SerializeConfig config) {
Map<Object, String> values = new IdentityHashMap<Object, String>();
Map<String, Object> paths = new HashMap<String, Object>();
paths(values, paths, "/", javaObject, config);
return paths;
}
private static void paths(Map<Object, String> values, Map<String, Object> paths, String parent, Object javaObject, SerializeConfig config) {
if (javaObject == null) {
return;
}
String p = values.put(javaObject, parent);
if (p != null) {
Class<?> type = javaObject.getClass();
boolean basicType = type == String.class
|| type == Boolean.class
|| type == Character.class
|| type == UUID.class
|| type.isEnum()
|| javaObject instanceof Number
|| javaObject instanceof Date
;
if (!basicType) {
return;
}
}
paths.put(parent, javaObject);
if (javaObject instanceof Map) {
Map map = (Map) javaObject;
for (Object entryObj : map.entrySet()) {
Map.Entry entry = (Map.Entry) entryObj;
Object key = entry.getKey();
if (key instanceof String) {
String path = parent.equals("/") ? "/" + key : parent + "/" + key;
paths(values, paths, path, entry.getValue(), config);
}
}
return;
}
if (javaObject instanceof Collection) {
Collection collection = (Collection) javaObject;
int i = 0;
for (Object item : collection) {
String path = parent.equals("/") ? "/" + i : parent + "/" + i;
paths(values, paths, path, item, config);
++i;
}
return;
}
Class<?> clazz = javaObject.getClass();
if (clazz.isArray()) {
int len = Array.getLength(javaObject);
for (int i = 0; i < len; ++i) {
Object item = Array.get(javaObject, i);
String path = parent.equals("/") ? "/" + i : parent + "/" + i;
paths(values, paths, path, item, config);
}
return;
}
if (ParserConfig.isPrimitive2(clazz) || clazz.isEnum()) {
return;
}
ObjectSerializer serializer = config.getObjectWriter(clazz);
if (serializer instanceof JavaBeanSerializer) {
JavaBeanSerializer javaBeanSerializer = (JavaBeanSerializer) serializer;
try {
Map<String, Object> fieldValues = javaBeanSerializer.getFieldValuesMap(javaObject);
for (Map.Entry<String, Object> entry : fieldValues.entrySet()) {
String key = entry.getKey();
if (key instanceof String) {
String path = parent.equals("/") ? "/" + key : parent + "/" + key;
paths(values, paths, path, entry.getValue(), config);
}
}
} catch (Exception e) {
throw new JSONException("toJSON error", e);
}
return;
}
return;
}
public String getPath() {
return path;
}
static class JSONPathParser {
private final String path;
private int pos;
private char ch;
private int level;
private boolean hasRefSegment;
private static final String strArrayRegex = "\'\\s*,\\s*\'";
private static final Pattern strArrayPatternx = Pattern.compile(strArrayRegex);
public JSONPathParser(String path){
this.path = path;
next();
}
void next() {
ch = path.charAt(pos++);
}
char getNextChar() {
return path.charAt(pos);
}
boolean isEOF() {
return pos >= path.length();
}
Segment readSegement() {
if (level == 0 && path.length() == 1) {
if (isDigitFirst(ch)) {
int index = ch - '0';
return new ArrayAccessSegment(index);
} else if ((ch >= 'a' && ch <= 'z') || ((ch >= 'A' && ch <= 'Z'))) {
return new PropertySegment(Character.toString(ch), false);
}
}
while (!isEOF()) {
skipWhitespace();
if (ch == '$') {
next();
skipWhitespace();
if (ch == '?') {
return new FilterSegment(
(Filter) parseArrayAccessFilter(false));
}
continue;
}
if (ch == '.' || ch == '/') {
int c0 = ch;
boolean deep = false;
next();
if (c0 == '.' && ch == '.') {
next();
deep = true;
if (path.length() > pos + 3
&& ch == '['
&& path.charAt(pos) == '*'
&& path.charAt(pos + 1) == ']'
&& path.charAt(pos + 2) == '.') {
next();
next();
next();
next();
}
}
if (ch == '*' || (deep && ch == '[')) {
boolean objectOnly = ch == '[';
if (!isEOF()) {
next();
}
if (deep) {
if (objectOnly) {
return WildCardSegment.instance_deep_objectOnly;
} else {
return WildCardSegment.instance_deep;
}
} else {
return WildCardSegment.instance;
}
}
if (isDigitFirst(ch)) {
return parseArrayAccess(false);
}
String propertyName = readName();
if (ch == '(') {
next();
if (ch == ')') {
if (!isEOF()) {
next();
}
if ("size".equals(propertyName) || "length".equals(propertyName)) {
return SizeSegment.instance;
} else if ("max".equals(propertyName)) {
return MaxSegment.instance;
} else if ("min".equals(propertyName)) {
return MinSegment.instance;
} else if ("keySet".equals(propertyName)) {
return KeySetSegment.instance;
} else if ("type".equals(propertyName)) {
return TypeSegment.instance;
} else if ("floor".equals(propertyName)) {
return FloorSegment.instance;
}
throw new JSONPathException("not support jsonpath : " + path);
}
throw new JSONPathException("not support jsonpath : " + path);
}
return new PropertySegment(propertyName, deep);
}
if (ch == '[') {
return parseArrayAccess(true);
}
if (level == 0) {
String propertyName = readName();
return new PropertySegment(propertyName, false);
}
if (ch == '?') {
return new FilterSegment(
(Filter) parseArrayAccessFilter(false));
}
throw new JSONPathException("not support jsonpath : " + path);
}
return null;
}
public final void skipWhitespace() {
for (;;) {
if (ch <= ' ' && (ch == ' ' || ch == '\r' || ch == '\n' || ch == '\t' || ch == '\f' || ch == '\b')) {
next();
continue;
} else {
break;
}
}
}
Segment parseArrayAccess(boolean acceptBracket) {
Object object = parseArrayAccessFilter(acceptBracket);
if (object instanceof Segment) {
return ((Segment) object);
}
return new FilterSegment((Filter) object);
}
Object parseArrayAccessFilter(boolean acceptBracket) {
if (acceptBracket) {
accept('[');
}
boolean predicateFlag = false;
int lparanCount = 0;
if (ch == '?') {
next();
accept('(');
lparanCount++;
while (ch == '(') {
next();
lparanCount++;
}
predicateFlag = true;
}
skipWhitespace();
if (predicateFlag
|| IOUtils.firstIdentifier(ch)
|| Character.isJavaIdentifierStart(ch)
|| ch == '\\'
|| ch == '@') {
boolean self = false;
if (ch == '@') {
next();
accept('.');
self = true;
}
String propertyName = readName();
skipWhitespace();
if (predicateFlag && ch == ')') {
next();
Filter filter = new NotNullSegement(propertyName, false);
while (ch == ' ') {
next();
}
if (ch == '&' || ch == '|') {
filter = filterRest(filter);
}
if (acceptBracket) {
accept(']');
}
return filter;
}
if (acceptBracket && ch == ']') {
if (isEOF()) {
if (propertyName.equals("last")) {
return new MultiIndexSegment(new int[]{-1});
}
}
next();
Filter filter = new NotNullSegement(propertyName, false);
while (ch == ' ') {
next();
}
if (ch == '&' || ch == '|') {
filter = filterRest(filter);
}
accept(')');
if (predicateFlag) {
accept(')');
}
if (acceptBracket) {
accept(']');
}
return filter;
}
boolean function = false;
skipWhitespace();
if (ch == '(') {
next();
accept(')');
skipWhitespace();
function = true;
}
Operator op = readOp();
skipWhitespace();
if (op == Operator.BETWEEN || op == Operator.NOT_BETWEEN) {
final boolean not = (op == Operator.NOT_BETWEEN);
Object startValue = readValue();
String name = readName();
if (!"and".equalsIgnoreCase(name)) {
throw new JSONPathException(path);
}
Object endValue = readValue();
if (startValue == null || endValue == null) {
throw new JSONPathException(path);
}
if (isInt(startValue.getClass()) && isInt(endValue.getClass())) {
Filter filter = new IntBetweenSegement(propertyName
, function
, TypeUtils.longExtractValue((Number) startValue)
, TypeUtils.longExtractValue((Number) endValue)
, not);
return filter;
}
throw new JSONPathException(path);
}
if (op == Operator.IN || op == Operator.NOT_IN) {
final boolean not = (op == Operator.NOT_IN);
accept('(');
List<Object> valueList = new JSONArray();
{
Object value = readValue();
valueList.add(value);
for (;;) {
skipWhitespace();
if (ch != ',') {
break;
}
next();
value = readValue();
valueList.add(value);
}
}
boolean isInt = true;
boolean isIntObj = true;
boolean isString = true;
for (Object item : valueList) {
if (item == null) {
if (isInt) {
isInt = false;
}
continue;
}
Class<?> clazz = item.getClass();
if (isInt && !(clazz == Byte.class || clazz == Short.class || clazz == Integer.class
|| clazz == Long.class)) {
isInt = false;
isIntObj = false;
}
if (isString && clazz != String.class) {
isString = false;
}
}
if (valueList.size() == 1 && valueList.get(0) == null) {
Filter filter;
if (not) {
filter = new NotNullSegement(propertyName, function);
} else {
filter = new NullSegement(propertyName, function);
}
while (ch == ' ') {
next();
}
if (ch == '&' || ch == '|') {
filter = filterRest(filter);
}
accept(')');
if (predicateFlag) {
accept(')');
}
if (acceptBracket) {
accept(']');
}
return filter;
}
if (isInt) {
if (valueList.size() == 1) {
long value = TypeUtils.longExtractValue((Number) valueList.get(0));
Operator intOp = not ? Operator.NE : Operator.EQ;
Filter filter = new IntOpSegement(propertyName, function, value, intOp);
while (ch == ' ') {
next();
}
if (ch == '&' || ch == '|') {
filter = filterRest(filter);
}
accept(')');
if (predicateFlag) {
accept(')');
}
if (acceptBracket) {
accept(']');
}
return filter;
}
long[] values = new long[valueList.size()];
for (int i = 0; i < values.length; ++i) {
values[i] = TypeUtils.longExtractValue((Number) valueList.get(i));
}
Filter filter = new IntInSegement(propertyName, function, values, not);
while (ch == ' ') {
next();
}
if (ch == '&' || ch == '|') {
filter = filterRest(filter);
}
accept(')');
if (predicateFlag) {
accept(')');
}
if (acceptBracket) {
accept(']');
}
return filter;
}
if (isString) {
if (valueList.size() == 1) {
String value = (String) valueList.get(0);
Operator intOp = not ? Operator.NE : Operator.EQ;
Filter filter = new StringOpSegement(propertyName, function, value, intOp);
while (ch == ' ') {
next();
}
if (ch == '&' || ch == '|') {
filter = filterRest(filter);
}
accept(')');
if (predicateFlag) {
accept(')');
}
if (acceptBracket) {
accept(']');
}
return filter;
}
String[] values = new String[valueList.size()];
valueList.toArray(values);
Filter filter = new StringInSegement(propertyName, function, values, not);
while (ch == ' ') {
next();
}
if (ch == '&' || ch == '|') {
filter = filterRest(filter);
}
accept(')');
if (predicateFlag) {
accept(')');
}
if (acceptBracket) {
accept(']');
}
return filter;
}
if (isIntObj) {
Long[] values = new Long[valueList.size()];
for (int i = 0; i < values.length; ++i) {
Number item = (Number) valueList.get(i);
if (item != null) {
values[i] = TypeUtils.longExtractValue(item);
}
}
Filter filter = new IntObjInSegement(propertyName, function, values, not);
while (ch == ' ') {
next();
}
if (ch == '&' || ch == '|') {
filter = filterRest(filter);
}
accept(')');
if (predicateFlag) {
accept(')');
}
if (acceptBracket) {
accept(']');
}
return filter;
}
throw new UnsupportedOperationException();
}
if (ch == '\'' || ch == '"') {
String strValue = readString();
Filter filter = null;
if (op == Operator.RLIKE) {
filter = new RlikeSegement(propertyName, function, strValue, false);
} else if (op == Operator.NOT_RLIKE) {
filter = new RlikeSegement(propertyName, function, strValue, true);
} else if (op == Operator.LIKE || op == Operator.NOT_LIKE) {
while (strValue.indexOf("%%") != -1) {
strValue = strValue.replaceAll("%%", "%");
}
final boolean not = (op == Operator.NOT_LIKE);
int p0 = strValue.indexOf('%');
if (p0 == -1) {
if (op == Operator.LIKE) {
op = Operator.EQ;
} else {
op = Operator.NE;
}
filter = new StringOpSegement(propertyName, function, strValue, op);
} else {
String[] items = strValue.split("%");
String startsWithValue = null;
String endsWithValue = null;
String[] containsValues = null;
if (p0 == 0) {
if (strValue.charAt(strValue.length() - 1) == '%') {
containsValues = new String[items.length - 1];
System.arraycopy(items, 1, containsValues, 0, containsValues.length);
} else {
endsWithValue = items[items.length - 1];
if (items.length > 2) {
containsValues = new String[items.length - 2];
System.arraycopy(items, 1, containsValues, 0, containsValues.length);
}
}
} else if (strValue.charAt(strValue.length() - 1) == '%') {
if (items.length == 1) {
startsWithValue = items[0];
} else {
containsValues = items;
}
} else {
if (items.length == 1) {
startsWithValue = items[0];
} else if (items.length == 2) {
startsWithValue = items[0];
endsWithValue = items[1];
} else {
startsWithValue = items[0];
endsWithValue = items[items.length - 1];
containsValues = new String[items.length - 2];
System.arraycopy(items, 1, containsValues, 0, containsValues.length);
}
}
filter = new MatchSegement(propertyName, function, startsWithValue, endsWithValue,
containsValues, not);
}
} else {
filter = new StringOpSegement(propertyName, function, strValue, op);
Showing preview only (200K chars total). Download the full file or copy to clipboard to get everything.
gitextract_e_i0aaw3/ ├── .github/ │ └── workflows/ │ └── ci.yaml ├── .gitignore ├── .gitpod.yml ├── .travis.yml ├── CONTRIBUTING.md ├── README.md ├── SECURITY.md ├── license.txt ├── pom.xml ├── rfc4627.txt ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ ├── META-INF/ │ │ │ │ └── MANIFEST.MF │ │ │ └── com/ │ │ │ └── alibaba/ │ │ │ └── fastjson/ │ │ │ ├── JSON.java │ │ │ ├── JSONArray.java │ │ │ ├── JSONAware.java │ │ │ ├── JSONException.java │ │ │ ├── JSONObject.java │ │ │ ├── JSONPObject.java │ │ │ ├── JSONPatch.java │ │ │ ├── JSONPath.java │ │ │ ├── JSONPathException.java │ │ │ ├── JSONReader.java │ │ │ ├── JSONStreamAware.java │ │ │ ├── JSONStreamContext.java │ │ │ ├── JSONValidator.java │ │ │ ├── JSONWriter.java │ │ │ ├── PropertyNamingStrategy.java │ │ │ ├── TypeReference.java │ │ │ ├── annotation/ │ │ │ │ ├── JSONCreator.java │ │ │ │ ├── JSONField.java │ │ │ │ ├── JSONPOJOBuilder.java │ │ │ │ └── JSONType.java │ │ │ ├── asm/ │ │ │ │ ├── ByteVector.java │ │ │ │ ├── ClassReader.java │ │ │ │ ├── ClassWriter.java │ │ │ │ ├── FieldWriter.java │ │ │ │ ├── Item.java │ │ │ │ ├── Label.java │ │ │ │ ├── MethodCollector.java │ │ │ │ ├── MethodVisitor.java │ │ │ │ ├── MethodWriter.java │ │ │ │ ├── Opcodes.java │ │ │ │ ├── Type.java │ │ │ │ └── TypeCollector.java │ │ │ ├── parser/ │ │ │ │ ├── DefaultExtJSONParser.java │ │ │ │ ├── DefaultJSONParser.java │ │ │ │ ├── Feature.java │ │ │ │ ├── JSONLexer.java │ │ │ │ ├── JSONLexerBase.java │ │ │ │ ├── JSONReaderScanner.java │ │ │ │ ├── JSONScanner.java │ │ │ │ ├── JSONToken.java │ │ │ │ ├── ParseContext.java │ │ │ │ ├── ParserConfig.java │ │ │ │ ├── SymbolTable.java │ │ │ │ └── deserializer/ │ │ │ │ ├── ASMDeserializerFactory.java │ │ │ │ ├── AbstractDateDeserializer.java │ │ │ │ ├── ArrayListTypeFieldDeserializer.java │ │ │ │ ├── AutowiredObjectDeserializer.java │ │ │ │ ├── ContextObjectDeserializer.java │ │ │ │ ├── DefaultFieldDeserializer.java │ │ │ │ ├── EnumCreatorDeserializer.java │ │ │ │ ├── EnumDeserializer.java │ │ │ │ ├── ExtraProcessable.java │ │ │ │ ├── ExtraProcessor.java │ │ │ │ ├── ExtraTypeProvider.java │ │ │ │ ├── FieldDeserializer.java │ │ │ │ ├── FieldTypeResolver.java │ │ │ │ ├── JSONPDeserializer.java │ │ │ │ ├── JavaBeanDeserializer.java │ │ │ │ ├── JavaObjectDeserializer.java │ │ │ │ ├── Jdk8DateCodec.java │ │ │ │ ├── MapDeserializer.java │ │ │ │ ├── NumberDeserializer.java │ │ │ │ ├── ObjectDeserializer.java │ │ │ │ ├── OptionalCodec.java │ │ │ │ ├── ParseProcess.java │ │ │ │ ├── PropertyProcessable.java │ │ │ │ ├── PropertyProcessableDeserializer.java │ │ │ │ ├── ResolveFieldDeserializer.java │ │ │ │ ├── SqlDateDeserializer.java │ │ │ │ ├── StackTraceElementDeserializer.java │ │ │ │ ├── ThrowableDeserializer.java │ │ │ │ └── TimeDeserializer.java │ │ │ ├── serializer/ │ │ │ │ ├── ASMSerializerFactory.java │ │ │ │ ├── AdderSerializer.java │ │ │ │ ├── AfterFilter.java │ │ │ │ ├── AnnotationSerializer.java │ │ │ │ ├── AppendableSerializer.java │ │ │ │ ├── ArraySerializer.java │ │ │ │ ├── AtomicCodec.java │ │ │ │ ├── AutowiredObjectSerializer.java │ │ │ │ ├── AwtCodec.java │ │ │ │ ├── BeanContext.java │ │ │ │ ├── BeforeFilter.java │ │ │ │ ├── BigDecimalCodec.java │ │ │ │ ├── BigIntegerCodec.java │ │ │ │ ├── BooleanCodec.java │ │ │ │ ├── ByteBufferCodec.java │ │ │ │ ├── CalendarCodec.java │ │ │ │ ├── CharArrayCodec.java │ │ │ │ ├── CharacterCodec.java │ │ │ │ ├── ClobSerializer.java │ │ │ │ ├── CollectionCodec.java │ │ │ │ ├── ContextObjectSerializer.java │ │ │ │ ├── ContextValueFilter.java │ │ │ │ ├── DateCodec.java │ │ │ │ ├── DoubleSerializer.java │ │ │ │ ├── EnumSerializer.java │ │ │ │ ├── EnumerationSerializer.java │ │ │ │ ├── FieldSerializer.java │ │ │ │ ├── FloatCodec.java │ │ │ │ ├── GuavaCodec.java │ │ │ │ ├── IntegerCodec.java │ │ │ │ ├── JSONAwareSerializer.java │ │ │ │ ├── JSONLibDataFormatSerializer.java │ │ │ │ ├── JSONObjectCodec.java │ │ │ │ ├── JSONSerializable.java │ │ │ │ ├── JSONSerializableSerializer.java │ │ │ │ ├── JSONSerializer.java │ │ │ │ ├── JSONSerializerMap.java │ │ │ │ ├── JavaBeanSerializer.java │ │ │ │ ├── JodaCodec.java │ │ │ │ ├── LabelFilter.java │ │ │ │ ├── Labels.java │ │ │ │ ├── ListSerializer.java │ │ │ │ ├── LongCodec.java │ │ │ │ ├── MapSerializer.java │ │ │ │ ├── MiscCodec.java │ │ │ │ ├── NameFilter.java │ │ │ │ ├── ObjectArrayCodec.java │ │ │ │ ├── ObjectSerializer.java │ │ │ │ ├── PascalNameFilter.java │ │ │ │ ├── PrimitiveArraySerializer.java │ │ │ │ ├── PropertyFilter.java │ │ │ │ ├── PropertyPreFilter.java │ │ │ │ ├── ReferenceCodec.java │ │ │ │ ├── SerialContext.java │ │ │ │ ├── SerializeBeanInfo.java │ │ │ │ ├── SerializeConfig.java │ │ │ │ ├── SerializeFilter.java │ │ │ │ ├── SerializeFilterable.java │ │ │ │ ├── SerializeWriter.java │ │ │ │ ├── SerializerFeature.java │ │ │ │ ├── SimpleDateFormatSerializer.java │ │ │ │ ├── SimplePropertyPreFilter.java │ │ │ │ ├── StringCodec.java │ │ │ │ ├── ToStringSerializer.java │ │ │ │ └── ValueFilter.java │ │ │ ├── spi/ │ │ │ │ └── Module.java │ │ │ ├── support/ │ │ │ │ ├── config/ │ │ │ │ │ └── FastJsonConfig.java │ │ │ │ ├── geo/ │ │ │ │ │ ├── Feature.java │ │ │ │ │ ├── FeatureCollection.java │ │ │ │ │ ├── Geometry.java │ │ │ │ │ ├── GeometryCollection.java │ │ │ │ │ ├── LineString.java │ │ │ │ │ ├── MultiLineString.java │ │ │ │ │ ├── MultiPoint.java │ │ │ │ │ ├── MultiPolygon.java │ │ │ │ │ ├── Point.java │ │ │ │ │ └── Polygon.java │ │ │ │ ├── hsf/ │ │ │ │ │ ├── HSFJSONUtils.java │ │ │ │ │ └── MethodLocator.java │ │ │ │ ├── jaxrs/ │ │ │ │ │ ├── FastJsonAutoDiscoverable.java │ │ │ │ │ ├── FastJsonFeature.java │ │ │ │ │ └── FastJsonProvider.java │ │ │ │ ├── moneta/ │ │ │ │ │ └── MonetaCodec.java │ │ │ │ ├── retrofit/ │ │ │ │ │ └── Retrofit2ConverterFactory.java │ │ │ │ ├── spring/ │ │ │ │ │ ├── FastJsonContainer.java │ │ │ │ │ ├── FastJsonHttpMessageConverter.java │ │ │ │ │ ├── FastJsonHttpMessageConverter4.java │ │ │ │ │ ├── FastJsonJsonView.java │ │ │ │ │ ├── FastJsonRedisSerializer.java │ │ │ │ │ ├── FastJsonViewResponseBodyAdvice.java │ │ │ │ │ ├── FastJsonpHttpMessageConverter4.java │ │ │ │ │ ├── FastJsonpResponseBodyAdvice.java │ │ │ │ │ ├── FastjsonSockJsMessageCodec.java │ │ │ │ │ ├── GenericFastJsonRedisSerializer.java │ │ │ │ │ ├── JSONPResponseBodyAdvice.java │ │ │ │ │ ├── MappingFastJsonValue.java │ │ │ │ │ ├── PropertyPreFilters.java │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ ├── FastJsonFilter.java │ │ │ │ │ │ ├── FastJsonView.java │ │ │ │ │ │ └── ResponseJSONP.java │ │ │ │ │ └── messaging/ │ │ │ │ │ └── MappingFastJsonMessageConverter.java │ │ │ │ └── springfox/ │ │ │ │ └── SwaggerJsonSerializer.java │ │ │ └── util/ │ │ │ ├── ASMClassLoader.java │ │ │ ├── ASMUtils.java │ │ │ ├── AntiCollisionHashMap.java │ │ │ ├── Base64.java │ │ │ ├── BiFunction.java │ │ │ ├── FieldInfo.java │ │ │ ├── Function.java │ │ │ ├── GenericArrayTypeImpl.java │ │ │ ├── IOUtils.java │ │ │ ├── IdentityHashMap.java │ │ │ ├── JavaBeanInfo.java │ │ │ ├── ModuleUtil.java │ │ │ ├── ParameterizedTypeImpl.java │ │ │ ├── RyuDouble.java │ │ │ ├── RyuFloat.java │ │ │ ├── ServiceLoader.java │ │ │ ├── ThreadLocalCache.java │ │ │ ├── TypeUtils.java │ │ │ └── UTF8Decoder.java │ │ └── resources/ │ │ └── META-INF/ │ │ ├── LICENSE.txt │ │ ├── NOTICE.txt │ │ └── services/ │ │ ├── javax.ws.rs.ext.MessageBodyReader │ │ ├── javax.ws.rs.ext.MessageBodyWriter │ │ ├── javax.ws.rs.ext.Providers │ │ └── org.glassfish.jersey.internal.spi.AutoDiscoverable │ └── test/ │ ├── java/ │ │ ├── cn/ │ │ │ └── com/ │ │ │ └── tx/ │ │ │ └── domain/ │ │ │ ├── notifyDetail/ │ │ │ │ └── NotifyDetail.java │ │ │ └── pagination/ │ │ │ └── Pagination.java │ │ ├── com/ │ │ │ ├── alibaba/ │ │ │ │ ├── china/ │ │ │ │ │ └── bolt/ │ │ │ │ │ └── biz/ │ │ │ │ │ └── daili/ │ │ │ │ │ └── merchants/ │ │ │ │ │ └── vo/ │ │ │ │ │ └── MerchantsVO.java │ │ │ │ ├── fastjson/ │ │ │ │ │ ├── JSONPathTest.java │ │ │ │ │ ├── codegen/ │ │ │ │ │ │ ├── ClassGen.java │ │ │ │ │ │ └── DeserializerGen.java │ │ │ │ │ ├── deserializer/ │ │ │ │ │ │ ├── IgnoreTypeDeserializer.java │ │ │ │ │ │ ├── TestISO8601Date.java │ │ │ │ │ │ ├── ValueBean.java │ │ │ │ │ │ ├── issue1463/ │ │ │ │ │ │ │ ├── TestIssue1463.java │ │ │ │ │ │ │ └── beans/ │ │ │ │ │ │ │ └── Person.java │ │ │ │ │ │ ├── issue2358/ │ │ │ │ │ │ │ └── TestJson.java │ │ │ │ │ │ ├── issue2638/ │ │ │ │ │ │ │ ├── Person.java │ │ │ │ │ │ │ └── TestIssue2638.java │ │ │ │ │ │ ├── issue2711/ │ │ │ │ │ │ │ ├── PageRequest.java │ │ │ │ │ │ │ ├── TestIssue.java │ │ │ │ │ │ │ └── User.java │ │ │ │ │ │ ├── issue2779/ │ │ │ │ │ │ │ ├── Issue2779Test.java │ │ │ │ │ │ │ └── LargeJavaBean.java │ │ │ │ │ │ ├── issue2898/ │ │ │ │ │ │ │ └── TestIssue2898.java │ │ │ │ │ │ ├── issue2951/ │ │ │ │ │ │ │ └── TestIssue2951.java │ │ │ │ │ │ ├── issue3050/ │ │ │ │ │ │ │ ├── TestIssue3050.java │ │ │ │ │ │ │ └── beans/ │ │ │ │ │ │ │ └── Person.java │ │ │ │ │ │ ├── issue3248/ │ │ │ │ │ │ │ └── TestIssue3248.kt │ │ │ │ │ │ ├── issue3804/ │ │ │ │ │ │ │ └── TestIssue3804.java │ │ │ │ │ │ ├── issues3671/ │ │ │ │ │ │ │ └── TestIssue3671.java │ │ │ │ │ │ ├── issues3796/ │ │ │ │ │ │ │ ├── TestIssues3796.java │ │ │ │ │ │ │ └── bean/ │ │ │ │ │ │ │ ├── CommonObject.java │ │ │ │ │ │ │ ├── CommonObject2.java │ │ │ │ │ │ │ ├── CommonObject3.java │ │ │ │ │ │ │ ├── LargeJavaBean.java │ │ │ │ │ │ │ ├── ObjectA.java │ │ │ │ │ │ │ ├── ObjectA1.java │ │ │ │ │ │ │ ├── ObjectA2.java │ │ │ │ │ │ │ ├── ObjectB.java │ │ │ │ │ │ │ ├── ObjectB1.java │ │ │ │ │ │ │ ├── ObjectB2.java │ │ │ │ │ │ │ ├── ObjectC.java │ │ │ │ │ │ │ ├── ObjectC1.java │ │ │ │ │ │ │ ├── ObjectC2.java │ │ │ │ │ │ │ ├── ObjectD.java │ │ │ │ │ │ │ ├── ObjectD1.java │ │ │ │ │ │ │ ├── ObjectD1_A.java │ │ │ │ │ │ │ ├── ObjectD2.java │ │ │ │ │ │ │ ├── ObjectD_A.java │ │ │ │ │ │ │ ├── ObjectD_B.java │ │ │ │ │ │ │ ├── ObjectE.java │ │ │ │ │ │ │ ├── ObjectE1.java │ │ │ │ │ │ │ ├── ObjectE2.java │ │ │ │ │ │ │ ├── ObjectF.java │ │ │ │ │ │ │ ├── ObjectF1.java │ │ │ │ │ │ │ ├── ObjectF2.java │ │ │ │ │ │ │ ├── ObjectG.java │ │ │ │ │ │ │ ├── ObjectG1.java │ │ │ │ │ │ │ ├── ObjectG2.java │ │ │ │ │ │ │ ├── ObjectH.java │ │ │ │ │ │ │ ├── ObjectH1.java │ │ │ │ │ │ │ ├── ObjectH2.java │ │ │ │ │ │ │ ├── ObjectH_A.java │ │ │ │ │ │ │ ├── ObjectI.java │ │ │ │ │ │ │ ├── ObjectI1.java │ │ │ │ │ │ │ ├── ObjectI2.java │ │ │ │ │ │ │ ├── ObjectI_A.java │ │ │ │ │ │ │ ├── ObjectJ.java │ │ │ │ │ │ │ ├── ObjectJ1.java │ │ │ │ │ │ │ ├── ObjectJ1_A.java │ │ │ │ │ │ │ ├── ObjectJ1_C.java │ │ │ │ │ │ │ ├── ObjectJ2.java │ │ │ │ │ │ │ ├── ObjectJ_A.java │ │ │ │ │ │ │ ├── ObjectJ_B.java │ │ │ │ │ │ │ ├── ObjectJ_C.java │ │ │ │ │ │ │ ├── ObjectK.java │ │ │ │ │ │ │ ├── ObjectK1.java │ │ │ │ │ │ │ ├── ObjectK1_A.java │ │ │ │ │ │ │ ├── ObjectK1_C.java │ │ │ │ │ │ │ ├── ObjectK2.java │ │ │ │ │ │ │ ├── ObjectK2_A.java │ │ │ │ │ │ │ ├── ObjectL.java │ │ │ │ │ │ │ ├── ObjectL1.java │ │ │ │ │ │ │ ├── ObjectL1_A.java │ │ │ │ │ │ │ ├── ObjectL2.java │ │ │ │ │ │ │ ├── ObjectL2_A.java │ │ │ │ │ │ │ ├── ObjectL2_B.java │ │ │ │ │ │ │ ├── ObjectL2_C.java │ │ │ │ │ │ │ ├── ObjectL_A.java │ │ │ │ │ │ │ ├── ObjectL_B.java │ │ │ │ │ │ │ ├── ObjectM.java │ │ │ │ │ │ │ ├── ObjectM1.java │ │ │ │ │ │ │ ├── ObjectM1_A.java │ │ │ │ │ │ │ ├── ObjectM1_B.java │ │ │ │ │ │ │ ├── ObjectM1_C.java │ │ │ │ │ │ │ ├── ObjectM2.java │ │ │ │ │ │ │ ├── ObjectM2_A.java │ │ │ │ │ │ │ ├── ObjectM_A.java │ │ │ │ │ │ │ ├── ObjectM_B.java │ │ │ │ │ │ │ ├── ObjectN.java │ │ │ │ │ │ │ ├── ObjectN1.java │ │ │ │ │ │ │ ├── ObjectN2.java │ │ │ │ │ │ │ ├── ObjectO.java │ │ │ │ │ │ │ ├── ObjectO1.java │ │ │ │ │ │ │ ├── ObjectO1_A.java │ │ │ │ │ │ │ ├── ObjectO2.java │ │ │ │ │ │ │ ├── ObjectO_A.java │ │ │ │ │ │ │ ├── ObjectP.java │ │ │ │ │ │ │ ├── ObjectP1.java │ │ │ │ │ │ │ ├── ObjectP1_A.java │ │ │ │ │ │ │ ├── ObjectP1_B.java │ │ │ │ │ │ │ ├── ObjectP_A.java │ │ │ │ │ │ │ ├── ObjectQ.java │ │ │ │ │ │ │ ├── ObjectQ1.java │ │ │ │ │ │ │ ├── ObjectQ1_A.java │ │ │ │ │ │ │ ├── ObjectQ1_B.java │ │ │ │ │ │ │ ├── ObjectR.java │ │ │ │ │ │ │ ├── ObjectR1.java │ │ │ │ │ │ │ ├── ObjectS.java │ │ │ │ │ │ │ ├── ObjectS1.java │ │ │ │ │ │ │ ├── ObjectS1_A.java │ │ │ │ │ │ │ ├── ObjectT.java │ │ │ │ │ │ │ ├── ObjectT1.java │ │ │ │ │ │ │ ├── ObjectT_A.java │ │ │ │ │ │ │ ├── ObjectU.java │ │ │ │ │ │ │ ├── ObjectU1.java │ │ │ │ │ │ │ ├── ObjectU1_A.java │ │ │ │ │ │ │ ├── ObjectU1_B.java │ │ │ │ │ │ │ ├── ObjectU1_C.java │ │ │ │ │ │ │ ├── ObjectV.java │ │ │ │ │ │ │ ├── ObjectV1.java │ │ │ │ │ │ │ ├── ObjectV1_A.java │ │ │ │ │ │ │ ├── ObjectV_A.java │ │ │ │ │ │ │ ├── ObjectW.java │ │ │ │ │ │ │ ├── ObjectW1.java │ │ │ │ │ │ │ ├── ObjectX.java │ │ │ │ │ │ │ ├── ObjectX1.java │ │ │ │ │ │ │ ├── ObjectY.java │ │ │ │ │ │ │ ├── ObjectY1.java │ │ │ │ │ │ │ ├── ObjectY_A.java │ │ │ │ │ │ │ ├── ObjectZ.java │ │ │ │ │ │ │ ├── ObjectZ1.java │ │ │ │ │ │ │ ├── ObjectZ1_A.java │ │ │ │ │ │ │ └── OjectN_A.java │ │ │ │ │ │ ├── issues569/ │ │ │ │ │ │ │ ├── TestIssues569.java │ │ │ │ │ │ │ ├── beans/ │ │ │ │ │ │ │ │ ├── Dept.java │ │ │ │ │ │ │ │ └── MyResponse.java │ │ │ │ │ │ │ └── parser/ │ │ │ │ │ │ │ ├── DefaultFieldDeserializerBug569.java │ │ │ │ │ │ │ └── ParserConfigBug569.java │ │ │ │ │ │ └── javabean/ │ │ │ │ │ │ ├── ConvertDO.java │ │ │ │ │ │ ├── ConvertEnum.java │ │ │ │ │ │ └── JavaBeanConvertTest.java │ │ │ │ │ ├── jsonpath/ │ │ │ │ │ │ ├── issue3493/ │ │ │ │ │ │ │ └── TestIssue3493.java │ │ │ │ │ │ └── issue3607/ │ │ │ │ │ │ └── TestIssue3607.java │ │ │ │ │ ├── parser/ │ │ │ │ │ │ └── JSONScannerTest.java │ │ │ │ │ ├── serializer/ │ │ │ │ │ │ ├── SerializeWriterTest.java │ │ │ │ │ │ ├── SerializeWriterToBytesTest.java │ │ │ │ │ │ ├── TestBean.java │ │ │ │ │ │ ├── TestParse.java │ │ │ │ │ │ ├── issue3084/ │ │ │ │ │ │ │ └── TestRefWithQuote.java │ │ │ │ │ │ ├── issue3177/ │ │ │ │ │ │ │ ├── Test3177Bean.java │ │ │ │ │ │ │ └── TestIssues3177.java │ │ │ │ │ │ ├── issue3473/ │ │ │ │ │ │ │ └── SerializeWriterJavaSqlDateTest.java │ │ │ │ │ │ ├── issue3479/ │ │ │ │ │ │ │ └── TestIssue3479.java │ │ │ │ │ │ ├── issue3638and3067/ │ │ │ │ │ │ │ └── Issue3638and3067Test.java │ │ │ │ │ │ └── issues3601/ │ │ │ │ │ │ ├── TestEntity.java │ │ │ │ │ │ ├── TestEnum.java │ │ │ │ │ │ └── TestIssue3601.java │ │ │ │ │ ├── support/ │ │ │ │ │ │ └── jaxrs/ │ │ │ │ │ │ ├── TestIssue885.java │ │ │ │ │ │ └── User.java │ │ │ │ │ └── validate/ │ │ │ │ │ ├── JSONValidateTest_0.java │ │ │ │ │ ├── JSONValidateTest_T1 │ │ │ │ │ ├── JSONValidateTest_basic.java │ │ │ │ │ └── JSONValidateTest_file.java │ │ │ │ └── json/ │ │ │ │ ├── ArrayRefTest2.java │ │ │ │ ├── ByteArrayTest2.java │ │ │ │ ├── SerializerFeatureDistinctTest.java │ │ │ │ ├── TestGC.java │ │ │ │ ├── bvt/ │ │ │ │ │ ├── AnnotationTest.java │ │ │ │ │ ├── AnnotationTest2.java │ │ │ │ │ ├── AnnotationTest3.java │ │ │ │ │ ├── AppendableFieldTest.java │ │ │ │ │ ├── ArmoryTest.java │ │ │ │ │ ├── ArrayListFieldTest.java │ │ │ │ │ ├── ArrayListFieldTest_1.java │ │ │ │ │ ├── ArrayListFloatFieldTest.java │ │ │ │ │ ├── ArrayRefTest.java │ │ │ │ │ ├── Base64Test.java │ │ │ │ │ ├── Base64Test2.java │ │ │ │ │ ├── BigDecimalFieldTest.java │ │ │ │ │ ├── BigIntegerFieldTest.java │ │ │ │ │ ├── BooleanArrayFieldTest.java │ │ │ │ │ ├── BooleanArrayFieldTest_primitive.java │ │ │ │ │ ├── BooleanArrayFieldTest_primitive_private.java │ │ │ │ │ ├── Bug12.java │ │ │ │ │ ├── Bug89.java │ │ │ │ │ ├── BuilderTest.java │ │ │ │ │ ├── ByteArrayFieldTest_1.java │ │ │ │ │ ├── ByteArrayFieldTest_2.java │ │ │ │ │ ├── ByteArrayFieldTest_3.java │ │ │ │ │ ├── ByteArrayFieldTest_4.java │ │ │ │ │ ├── ByteArrayFieldTest_5_base64.java │ │ │ │ │ ├── ByteArrayFieldTest_6_gzip.java │ │ │ │ │ ├── ByteArrayFieldTest_7_gzip_hex.java │ │ │ │ │ ├── ByteFieldTest.java │ │ │ │ │ ├── CastTest.java │ │ │ │ │ ├── CastTest2.java │ │ │ │ │ ├── CharTypesTest.java │ │ │ │ │ ├── CharsetFieldTest.java │ │ │ │ │ ├── ChineseSpaceTest.java │ │ │ │ │ ├── CircularReferenceTest.java │ │ │ │ │ ├── ClassFieldTest.java │ │ │ │ │ ├── CurrencyTest.java │ │ │ │ │ ├── CurrencyTest3.java │ │ │ │ │ ├── CurrencyTest4.java │ │ │ │ │ ├── CurrencyTest5.java │ │ │ │ │ ├── CurrencyTest_2.java │ │ │ │ │ ├── DefaultJSONParserTest.java │ │ │ │ │ ├── DefaultJSONParserTest_ref.java │ │ │ │ │ ├── DeprecatedClassTest.java │ │ │ │ │ ├── DisableSpecialKeyDetectTest.java │ │ │ │ │ ├── DoubleArrayFieldTest_primitive.java │ │ │ │ │ ├── DoubleFieldTest_A.java │ │ │ │ │ ├── EmptyArrayAsNullTest.java │ │ │ │ │ ├── EmptyObjectTest.java │ │ │ │ │ ├── EnumFieldTest.java │ │ │ │ │ ├── EnumFieldTest2.java │ │ │ │ │ ├── EnumFieldTest2_private.java │ │ │ │ │ ├── EnumFieldTest3.java │ │ │ │ │ ├── EnumFieldTest3_private.java │ │ │ │ │ ├── EnumerationTest.java │ │ │ │ │ ├── FastJsonBigClassTest.java │ │ │ │ │ ├── FieldBasedTest.java │ │ │ │ │ ├── FileFieldTest.java │ │ │ │ │ ├── FinalTest.java │ │ │ │ │ ├── FloatArrayFieldTest_primitive.java │ │ │ │ │ ├── FloatFieldTest.java │ │ │ │ │ ├── FloatFieldTest_A.java │ │ │ │ │ ├── FluentSetterTest.java │ │ │ │ │ ├── GetSetNotMatchTest.java │ │ │ │ │ ├── GroovyTest.java │ │ │ │ │ ├── IncomingDataPointTest.java │ │ │ │ │ ├── InetAddressFieldTest.java │ │ │ │ │ ├── InetSocketAddressFieldTest.java │ │ │ │ │ ├── IntArrayFieldTest_primitive.java │ │ │ │ │ ├── IntKeyMapTest.java │ │ │ │ │ ├── IntegerArrayFieldTest.java │ │ │ │ │ ├── Issue213Test.java │ │ │ │ │ ├── JSONArrayTest.java │ │ │ │ │ ├── JSONArrayTest2.java │ │ │ │ │ ├── JSONArrayTest3.java │ │ │ │ │ ├── JSONArrayTest_hashCode.java │ │ │ │ │ ├── JSONBytesTest.java │ │ │ │ │ ├── JSONBytesTest2.java │ │ │ │ │ ├── JSONBytesTest3.java │ │ │ │ │ ├── JSONExceptionTest.java │ │ │ │ │ ├── JSONFeidDemo2.java │ │ │ │ │ ├── JSONFieldDefaultValueTest.java │ │ │ │ │ ├── JSONFieldTest.java │ │ │ │ │ ├── JSONFromObjectTest.java │ │ │ │ │ ├── JSONObjectFluentTest.java │ │ │ │ │ ├── JSONObjectTest.java │ │ │ │ │ ├── JSONObjectTest2.java │ │ │ │ │ ├── JSONObjectTest3.java │ │ │ │ │ ├── JSONObjectTest4.java │ │ │ │ │ ├── JSONObjectTest5.java │ │ │ │ │ ├── JSONObjectTest6.java │ │ │ │ │ ├── JSONObjectTest7.java │ │ │ │ │ ├── JSONObjectTest_get.java │ │ │ │ │ ├── JSONObjectTest_getBigInteger.java │ │ │ │ │ ├── JSONObjectTest_getDate.java │ │ │ │ │ ├── JSONObjectTest_getObj.java │ │ │ │ │ ├── JSONObjectTest_getObj_2.java │ │ │ │ │ ├── JSONObjectTest_get_2.java │ │ │ │ │ ├── JSONObjectTest_hashCode.java │ │ │ │ │ ├── JSONObjectTest_readObject.java │ │ │ │ │ ├── JSONParseTest.java │ │ │ │ │ ├── JSONTest.java │ │ │ │ │ ├── JSONTest2.java │ │ │ │ │ ├── JSONTest3.java │ │ │ │ │ ├── JSONTest_Bytes.java │ │ │ │ │ ├── JSONTest_Bytes_1.java │ │ │ │ │ ├── JSONTest_null.java │ │ │ │ │ ├── JSONTest_overflow.java │ │ │ │ │ ├── JSONTokenTest.java │ │ │ │ │ ├── JSONTypeTest.java │ │ │ │ │ ├── JSONTypeTest1.java │ │ │ │ │ ├── JSONTypeTest_orders_arrayMapping.java │ │ │ │ │ ├── JSONTypeTest_orders_arrayMapping_2.java │ │ │ │ │ ├── JSON_isValid_0.java │ │ │ │ │ ├── JSON_isValid_1_error.java │ │ │ │ │ ├── JSON_toJSONStringTest.java │ │ │ │ │ ├── JSON_toJavaObject_test.java │ │ │ │ │ ├── JavaBeanMappingTest.java │ │ │ │ │ ├── JavaBeanTest.java │ │ │ │ │ ├── JsonValueTest.java │ │ │ │ │ ├── LexerTest.java │ │ │ │ │ ├── LinkedListFieldTest.java │ │ │ │ │ ├── ListFieldTest.java │ │ │ │ │ ├── ListFieldTest2.java │ │ │ │ │ ├── ListFieldTest3.java │ │ │ │ │ ├── ListFloatFieldTest.java │ │ │ │ │ ├── LocaleFieldTest.java │ │ │ │ │ ├── LongArrayFieldTest.java │ │ │ │ │ ├── LongArrayFieldTest_primitive.java │ │ │ │ │ ├── LongFieldTest.java │ │ │ │ │ ├── LongFieldTest_2.java │ │ │ │ │ ├── LongFieldTest_2_private.java │ │ │ │ │ ├── LongFieldTest_2_stream.java │ │ │ │ │ ├── LongFieldTest_3.java │ │ │ │ │ ├── LongFieldTest_3_private.java │ │ │ │ │ ├── LongFieldTest_3_stream.java │ │ │ │ │ ├── LongFieldTest_4.java │ │ │ │ │ ├── LongFieldTest_4_stream.java │ │ │ │ │ ├── LongFieldTest_primitive.java │ │ │ │ │ ├── MapRefTest.java │ │ │ │ │ ├── MapRefTest1.java │ │ │ │ │ ├── MapRefTest2.java │ │ │ │ │ ├── MapRefTest3.java │ │ │ │ │ ├── MapRefTest4.java │ │ │ │ │ ├── MapRefTest5.java │ │ │ │ │ ├── MapRefTest6.java │ │ │ │ │ ├── MapTest.java │ │ │ │ │ ├── MapTest2.java │ │ │ │ │ ├── MaterializedInterfaceTest.java │ │ │ │ │ ├── MaterializedInterfaceTest2.java │ │ │ │ │ ├── ModuleTest.java │ │ │ │ │ ├── NotWriteRootClassNameTest.java │ │ │ │ │ ├── NumberFieldTest.java │ │ │ │ │ ├── OOMTest.java │ │ │ │ │ ├── ObjectArrayFieldTest.java │ │ │ │ │ ├── ObjectFieldTest.java │ │ │ │ │ ├── OverriadeTest.java │ │ │ │ │ ├── ParseArrayTest.java │ │ │ │ │ ├── PatternFieldTest.java │ │ │ │ │ ├── PointTest.java │ │ │ │ │ ├── PointTest2.java │ │ │ │ │ ├── PublicFieldDoubleTest.java │ │ │ │ │ ├── PublicFieldFloatTest.java │ │ │ │ │ ├── PublicFieldLongTest.java │ │ │ │ │ ├── PublicFieldStringTest.java │ │ │ │ │ ├── RectangleTest.java │ │ │ │ │ ├── SerializeEnumAsJavaBeanTest.java │ │ │ │ │ ├── SerializeEnumAsJavaBeanTest_manual.java │ │ │ │ │ ├── SerializeEnumAsJavaBeanTest_private.java │ │ │ │ │ ├── SerializeWriterTest.java │ │ │ │ │ ├── ServiceLoaderTest.java │ │ │ │ │ ├── ShortArrayFieldTest_primitive.java │ │ │ │ │ ├── SlashTest.java │ │ │ │ │ ├── SpecialKeyTest.java │ │ │ │ │ ├── SpecialKeyTest2.java │ │ │ │ │ ├── SqlDateTest1.java │ │ │ │ │ ├── SqlTimestampTest.java │ │ │ │ │ ├── StringBufferFieldTest.java │ │ │ │ │ ├── StringBuilderFieldTest.java │ │ │ │ │ ├── StringDeserializerTest.java │ │ │ │ │ ├── StringFieldTest.java │ │ │ │ │ ├── StringFieldTest2.java │ │ │ │ │ ├── StringFieldTest_special.java │ │ │ │ │ ├── StringFieldTest_special_1.java │ │ │ │ │ ├── StringFieldTest_special_2.java │ │ │ │ │ ├── StringFieldTest_special_3.java │ │ │ │ │ ├── StringFieldTest_special_reader.java │ │ │ │ │ ├── StringFieldTest_special_singquote.java │ │ │ │ │ ├── SymbolTableTest.java │ │ │ │ │ ├── TabCharTest.java │ │ │ │ │ ├── TestDeprecate.java │ │ │ │ │ ├── TestExternal.java │ │ │ │ │ ├── TestExternal2.java │ │ │ │ │ ├── TestExternal3.java │ │ │ │ │ ├── TestExternal4.java │ │ │ │ │ ├── TestExternal5.java │ │ │ │ │ ├── TestExternal6.java │ │ │ │ │ ├── TestFlase.java │ │ │ │ │ ├── TestForEmoji.java │ │ │ │ │ ├── TestForPascalStyle.java │ │ │ │ │ ├── TestMultiLevelClass.java │ │ │ │ │ ├── TestMultiLevelClass2.java │ │ │ │ │ ├── TestNullKeyMap.java │ │ │ │ │ ├── TestSerializable.java │ │ │ │ │ ├── TestTimeUnit.java │ │ │ │ │ ├── TimeZoneFieldTest.java │ │ │ │ │ ├── TimestampTest.java │ │ │ │ │ ├── TypeUtilstTest.java │ │ │ │ │ ├── URIFieldTest.java │ │ │ │ │ ├── URLFieldTest.java │ │ │ │ │ ├── UUIDFieldTest.java │ │ │ │ │ ├── UnQuoteFieldNamesTest.java │ │ │ │ │ ├── WildcardTypeTest.java │ │ │ │ │ ├── WriteClassNameTest.java │ │ │ │ │ ├── WriteClassNameTest2.java │ │ │ │ │ ├── XX01.java │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ ├── AnnotationTest.java │ │ │ │ │ │ ├── CustomDeserializerTest.java │ │ │ │ │ │ ├── CustomSerializerTest.java │ │ │ │ │ │ ├── CustomSerializerTest_enum.java │ │ │ │ │ │ ├── DeserializeUsingTest.java │ │ │ │ │ │ ├── JSONTypeAutoTypeCheckHandlerTest.java │ │ │ │ │ │ ├── JSONTypejsonType_alphabetic_Test.java │ │ │ │ │ │ ├── JsonSeeAlsoTest.java │ │ │ │ │ │ ├── SerializeUsingTest.java │ │ │ │ │ │ └── SerializeUsingWhenString.java │ │ │ │ │ ├── asm/ │ │ │ │ │ │ ├── ASMDeserTest.java │ │ │ │ │ │ ├── ASMDeserTest2.java │ │ │ │ │ │ ├── ASMUtilsTest.java │ │ │ │ │ │ ├── Case0.java │ │ │ │ │ │ ├── Case_Eishay.java │ │ │ │ │ │ ├── ClassReaderTest.java │ │ │ │ │ │ ├── Huge_200_ClassTest.java │ │ │ │ │ │ ├── Huge_300_ClassTest.java │ │ │ │ │ │ ├── JSONASMUtilTest.java │ │ │ │ │ │ ├── LoopTest.java │ │ │ │ │ │ ├── SortFieldTest.java │ │ │ │ │ │ ├── TestList.java │ │ │ │ │ │ ├── TestNonASM.java │ │ │ │ │ │ └── TestType.java │ │ │ │ │ ├── atomic/ │ │ │ │ │ │ ├── AtomicBooleanReadOnlyTest.java │ │ │ │ │ │ ├── AtomicIntegerArrayFieldTest.java │ │ │ │ │ │ ├── AtomicIntegerReadOnlyTest.java │ │ │ │ │ │ ├── AtomicLongArrayFieldTest.java │ │ │ │ │ │ └── AtomicLongReadOnlyTest.java │ │ │ │ │ ├── awt/ │ │ │ │ │ │ ├── ColorTest.java │ │ │ │ │ │ ├── FontTest.java │ │ │ │ │ │ └── FontTest2.java │ │ │ │ │ ├── basicType/ │ │ │ │ │ │ ├── BigDecimal_BrowserCompatible.java │ │ │ │ │ │ ├── BigDecimal_field.java │ │ │ │ │ │ ├── BigDecimal_type.java │ │ │ │ │ │ ├── BigInteger_BrowserCompatible.java │ │ │ │ │ │ ├── DoubleNullTest.java │ │ │ │ │ │ ├── DoubleNullTest_primitive.java │ │ │ │ │ │ ├── DoubleTest.java │ │ │ │ │ │ ├── DoubleTest2_obj.java │ │ │ │ │ │ ├── DoubleTest3_random.java │ │ │ │ │ │ ├── FloatNullTest.java │ │ │ │ │ │ ├── FloatNullTest_primitive.java │ │ │ │ │ │ ├── FloatTest.java │ │ │ │ │ │ ├── FloatTest2_obj.java │ │ │ │ │ │ ├── FloatTest3_array_random.java │ │ │ │ │ │ ├── FloatTest3_random.java │ │ │ │ │ │ ├── IntNullTest_primitive.java │ │ │ │ │ │ ├── IntTest.java │ │ │ │ │ │ ├── IntegerNullTest.java │ │ │ │ │ │ ├── LongNullTest.java │ │ │ │ │ │ ├── LongNullTest_primitive.java │ │ │ │ │ │ ├── LongTest.java │ │ │ │ │ │ ├── LongTest2.java │ │ │ │ │ │ ├── LongTest2_obj.java │ │ │ │ │ │ └── LongTest_browserCompatible.java │ │ │ │ │ ├── bug/ │ │ │ │ │ │ ├── Bug1.java │ │ │ │ │ │ ├── Bug11.java │ │ │ │ │ │ ├── Bug13.java │ │ │ │ │ │ ├── Bug14.java │ │ │ │ │ │ ├── Bug2.java │ │ │ │ │ │ ├── Bug_10.java │ │ │ │ │ │ ├── Bug_101_for_rongganlin.java │ │ │ │ │ │ ├── Bug_101_for_rongganlin_case2.java │ │ │ │ │ │ ├── Bug_101_for_rongganlin_case3.java │ │ │ │ │ │ ├── Bug_102_for_rongganlin.java │ │ │ │ │ │ ├── Bug_105_for_SpitFire.java │ │ │ │ │ │ ├── Bug_127_for_qiuyan81.java │ │ │ │ │ │ ├── Bug_376_for_iso8601.java │ │ │ │ │ │ ├── Bug_6.java │ │ │ │ │ │ ├── Bug_7.java │ │ │ │ │ │ ├── Bug_8.java │ │ │ │ │ │ ├── Bug_KimShen.java │ │ │ │ │ │ ├── Bug_for_42283905.java │ │ │ │ │ │ ├── Bug_for_42283905_1.java │ │ │ │ │ │ ├── Bug_for_80108116.java │ │ │ │ │ │ ├── Bug_for_ArrayMember.java │ │ │ │ │ │ ├── Bug_for_BlankRain_Issue_502.java │ │ │ │ │ │ ├── Bug_for_DiffType.java │ │ │ │ │ │ ├── Bug_for_Double2Tag.java │ │ │ │ │ │ ├── Bug_for_Exception.java │ │ │ │ │ │ ├── Bug_for_Issue_519.java │ │ │ │ │ │ ├── Bug_for_Issue_534.java │ │ │ │ │ │ ├── Bug_for_Issue_535.java │ │ │ │ │ │ ├── Bug_for_Issue_603.java │ │ │ │ │ │ ├── Bug_for_JSONObject.java │ │ │ │ │ │ ├── Bug_for_Jay.java │ │ │ │ │ │ ├── Bug_for_Jay_1.java │ │ │ │ │ │ ├── Bug_for_JeryZeng.java │ │ │ │ │ │ ├── Bug_for_Johnny.java │ │ │ │ │ │ ├── Bug_for_Next.java │ │ │ │ │ │ ├── Bug_for_NonStringKeyMap.java │ │ │ │ │ │ ├── Bug_for_O_I_See_you.java │ │ │ │ │ │ ├── Bug_for_SpitFire.java │ │ │ │ │ │ ├── Bug_for_SpitFire_2.java │ │ │ │ │ │ ├── Bug_for_SpitFire_3.java │ │ │ │ │ │ ├── Bug_for_SpitFire_4.java │ │ │ │ │ │ ├── Bug_for_SpitFire_5.java │ │ │ │ │ │ ├── Bug_for_SpitFire_6.java │ │ │ │ │ │ ├── Bug_for_agapple.java │ │ │ │ │ │ ├── Bug_for_agapple_2.java │ │ │ │ │ │ ├── Bug_for_akvadrako.java │ │ │ │ │ │ ├── Bug_for_alibank.java │ │ │ │ │ │ ├── Bug_for_apollo0317.java │ │ │ │ │ │ ├── Bug_for_array.java │ │ │ │ │ │ ├── Bug_for_ascii_0_31.java │ │ │ │ │ │ ├── Bug_for_bbl.java │ │ │ │ │ │ ├── Bug_for_booleanField.java │ │ │ │ │ │ ├── Bug_for_builder.java │ │ │ │ │ │ ├── Bug_for_cduym.java │ │ │ │ │ │ ├── Bug_for_chengchao.java │ │ │ │ │ │ ├── Bug_for_chengchao_1.java │ │ │ │ │ │ ├── Bug_for_chengyi.java │ │ │ │ │ │ ├── Bug_for_cnhans.java │ │ │ │ │ │ ├── Bug_for_dargoner.java │ │ │ │ │ │ ├── Bug_for_divde_zero.java │ │ │ │ │ │ ├── Bug_for_dongqi.java │ │ │ │ │ │ ├── Bug_for_dragoon.java │ │ │ │ │ │ ├── Bug_for_dragoon26.java │ │ │ │ │ │ ├── Bug_for_dragoon26_1.java │ │ │ │ │ │ ├── Bug_for_dubbo.java │ │ │ │ │ │ ├── Bug_for_dubbo1.java │ │ │ │ │ │ ├── Bug_for_dubbo2.java │ │ │ │ │ │ ├── Bug_for_dubbo3.java │ │ │ │ │ │ ├── Bug_for_dubbo_long.java │ │ │ │ │ │ ├── Bug_for_field.java │ │ │ │ │ │ ├── Bug_for_franklee77.java │ │ │ │ │ │ ├── Bug_for_fushou.java │ │ │ │ │ │ ├── Bug_for_generic.java │ │ │ │ │ │ ├── Bug_for_generic_1.java │ │ │ │ │ │ ├── Bug_for_generic_huansi.java │ │ │ │ │ │ ├── Bug_for_gongwenhua.java │ │ │ │ │ │ ├── Bug_for_hifor_issue_511.java │ │ │ │ │ │ ├── Bug_for_hmy8.java │ │ │ │ │ │ ├── Bug_for_huangchun.java │ │ │ │ │ │ ├── Bug_for_huling.java │ │ │ │ │ │ ├── Bug_for_issue_184.java │ │ │ │ │ │ ├── Bug_for_issue_229.java │ │ │ │ │ │ ├── Bug_for_issue_232.java │ │ │ │ │ │ ├── Bug_for_issue_236.java │ │ │ │ │ │ ├── Bug_for_issue_242.java │ │ │ │ │ │ ├── Bug_for_issue_252.java │ │ │ │ │ │ ├── Bug_for_issue_253.java │ │ │ │ │ │ ├── Bug_for_issue_256.java │ │ │ │ │ │ ├── Bug_for_issue_262.java │ │ │ │ │ │ ├── Bug_for_issue_265.java │ │ │ │ │ │ ├── Bug_for_issue_268.java │ │ │ │ │ │ ├── Bug_for_issue_269.java │ │ │ │ │ │ ├── Bug_for_issue_273.java │ │ │ │ │ │ ├── Bug_for_issue_278.java │ │ │ │ │ │ ├── Bug_for_issue_280.java │ │ │ │ │ │ ├── Bug_for_issue_283.java │ │ │ │ │ │ ├── Bug_for_issue_285.java │ │ │ │ │ │ ├── Bug_for_issue_291.java │ │ │ │ │ │ ├── Bug_for_issue_296.java │ │ │ │ │ │ ├── Bug_for_issue_297.java │ │ │ │ │ │ ├── Bug_for_issue_304.java │ │ │ │ │ │ ├── Bug_for_issue_316.java │ │ │ │ │ │ ├── Bug_for_issue_318.java │ │ │ │ │ │ ├── Bug_for_issue_320.java │ │ │ │ │ │ ├── Bug_for_issue_330.java │ │ │ │ │ │ ├── Bug_for_issue_331.java │ │ │ │ │ │ ├── Bug_for_issue_336.java │ │ │ │ │ │ ├── Bug_for_issue_349.java │ │ │ │ │ │ ├── Bug_for_issue_352.java │ │ │ │ │ │ ├── Bug_for_issue_364.java │ │ │ │ │ │ ├── Bug_for_issue_372.java │ │ │ │ │ │ ├── Bug_for_issue_383.java │ │ │ │ │ │ ├── Bug_for_issue_389.java │ │ │ │ │ │ ├── Bug_for_issue_414.java │ │ │ │ │ │ ├── Bug_for_issue_415.java │ │ │ │ │ │ ├── Bug_for_issue_423.java │ │ │ │ │ │ ├── Bug_for_issue_426.java │ │ │ │ │ │ ├── Bug_for_issue_427.java │ │ │ │ │ │ ├── Bug_for_issue_430.java │ │ │ │ │ │ ├── Bug_for_issue_434.java │ │ │ │ │ │ ├── Bug_for_issue_435.java │ │ │ │ │ │ ├── Bug_for_issue_439.java │ │ │ │ │ │ ├── Bug_for_issue_446.java │ │ │ │ │ │ ├── Bug_for_issue_447.java │ │ │ │ │ │ ├── Bug_for_issue_448.java │ │ │ │ │ │ ├── Bug_for_issue_449.java │ │ │ │ │ │ ├── Bug_for_issue_457.java │ │ │ │ │ │ ├── Bug_for_issue_462.java │ │ │ │ │ │ ├── Bug_for_issue_465.java │ │ │ │ │ │ ├── Bug_for_issue_469.java │ │ │ │ │ │ ├── Bug_for_issue_470.java │ │ │ │ │ │ ├── Bug_for_issue_479.java │ │ │ │ │ │ ├── Bug_for_issue_489.java │ │ │ │ │ │ ├── Bug_for_issue_491.java │ │ │ │ │ │ ├── Bug_for_issue_492.java │ │ │ │ │ │ ├── Bug_for_issue_537.java │ │ │ │ │ │ ├── Bug_for_issue_545.java │ │ │ │ │ │ ├── Bug_for_issue_555.java │ │ │ │ │ │ ├── Bug_for_issue_555_setter.java │ │ │ │ │ │ ├── Bug_for_issue_555_setter2.java │ │ │ │ │ │ ├── Bug_for_issue_569.java │ │ │ │ │ │ ├── Bug_for_issue_569_1.java │ │ │ │ │ │ ├── Bug_for_issue_572.java │ │ │ │ │ │ ├── Bug_for_issue_572_field.java │ │ │ │ │ │ ├── Bug_for_issue_572_field2.java │ │ │ │ │ │ ├── Bug_for_issue_572_private.java │ │ │ │ │ │ ├── Bug_for_issue_630.java │ │ │ │ │ │ ├── Bug_for_issue_676.java │ │ │ │ │ │ ├── Bug_for_issue_694.java │ │ │ │ │ │ ├── Bug_for_issue_729.java │ │ │ │ │ │ ├── Bug_for_issue_807.java │ │ │ │ │ │ ├── Bug_for_issue_937.java │ │ │ │ │ │ ├── Bug_for_jared1.java │ │ │ │ │ │ ├── Bug_for_javaeye_litterJava.java │ │ │ │ │ │ ├── Bug_for_jial10802.java │ │ │ │ │ │ ├── Bug_for_jiangwei.java │ │ │ │ │ │ ├── Bug_for_jiangwei1.java │ │ │ │ │ │ ├── Bug_for_jiangwei2.java │ │ │ │ │ │ ├── Bug_for_jinghui70.java │ │ │ │ │ │ ├── Bug_for_jinguwei.java │ │ │ │ │ │ ├── Bug_for_json_array.java │ │ │ │ │ │ ├── Bug_for_jsonobj_null.java │ │ │ │ │ │ ├── Bug_for_juewu.java │ │ │ │ │ │ ├── Bug_for_km.java │ │ │ │ │ │ ├── Bug_for_lenolix.java │ │ │ │ │ │ ├── Bug_for_lenolix_1.java │ │ │ │ │ │ ├── Bug_for_lenolix_10.java │ │ │ │ │ │ ├── Bug_for_lenolix_11.java │ │ │ │ │ │ ├── Bug_for_lenolix_2.java │ │ │ │ │ │ ├── Bug_for_lenolix_3.java │ │ │ │ │ │ ├── Bug_for_lenolix_4.java │ │ │ │ │ │ ├── Bug_for_lenolix_5.java │ │ │ │ │ │ ├── Bug_for_lenolix_6.java │ │ │ │ │ │ ├── Bug_for_lenolix_7.java │ │ │ │ │ │ ├── Bug_for_lenolix_8.java │ │ │ │ │ │ ├── Bug_for_lenolix_9.java │ │ │ │ │ │ ├── Bug_for_leupom.java │ │ │ │ │ │ ├── Bug_for_leupom_2.java │ │ │ │ │ │ ├── Bug_for_leupom_3.java │ │ │ │ │ │ ├── Bug_for_liqing.java │ │ │ │ │ │ ├── Bug_for_liuwanzhen_ren.java │ │ │ │ │ │ ├── Bug_for_liuying.java │ │ │ │ │ │ ├── Bug_for_long_whitespace.java │ │ │ │ │ │ ├── Bug_for_ludong.java │ │ │ │ │ │ ├── Bug_for_luogongwu.java │ │ │ │ │ │ ├── Bug_for_maiksagill.java │ │ │ │ │ │ ├── Bug_for_melin.java │ │ │ │ │ │ ├── Bug_for_primitive_boolean.java │ │ │ │ │ │ ├── Bug_for_primitive_byte.java │ │ │ │ │ │ ├── Bug_for_primitive_double.java │ │ │ │ │ │ ├── Bug_for_primitive_float.java │ │ │ │ │ │ ├── Bug_for_primitive_int.java │ │ │ │ │ │ ├── Bug_for_primitive_long.java │ │ │ │ │ │ ├── Bug_for_primitive_short.java │ │ │ │ │ │ ├── Bug_for_qianbi.java │ │ │ │ │ │ ├── Bug_for_qqdwll2012.java │ │ │ │ │ │ ├── Bug_for_rd.java │ │ │ │ │ │ ├── Bug_for_rendong.java │ │ │ │ │ │ ├── Bug_for_ruiqi.java │ │ │ │ │ │ ├── Bug_for_sankun.java │ │ │ │ │ │ ├── Bug_for_sanxiao.java │ │ │ │ │ │ ├── Bug_for_set.java │ │ │ │ │ │ ├── Bug_for_shortArray.java │ │ │ │ │ │ ├── Bug_for_smoothrat.java │ │ │ │ │ │ ├── Bug_for_smoothrat2.java │ │ │ │ │ │ ├── Bug_for_smoothrat3.java │ │ │ │ │ │ ├── Bug_for_smoothrat4.java │ │ │ │ │ │ ├── Bug_for_smoothrat5.java │ │ │ │ │ │ ├── Bug_for_smoothrat6.java │ │ │ │ │ │ ├── Bug_for_smoothrat7.java │ │ │ │ │ │ ├── Bug_for_smoothrat8.java │ │ │ │ │ │ ├── Bug_for_smoothrat9.java │ │ │ │ │ │ ├── Bug_for_stv_liu.java │ │ │ │ │ │ ├── Bug_for_sunai.java │ │ │ │ │ │ ├── Bug_for_taolei0628.java │ │ │ │ │ │ ├── Bug_for_typeReference.java │ │ │ │ │ │ ├── Bug_for_uin57.java │ │ │ │ │ │ ├── Bug_for_vikingschow.java │ │ │ │ │ │ ├── Bug_for_wangran.java │ │ │ │ │ │ ├── Bug_for_wangran1.java │ │ │ │ │ │ ├── Bug_for_wangran2.java │ │ │ │ │ │ ├── Bug_for_wsky.java │ │ │ │ │ │ ├── Bug_for_wtusmchen.java │ │ │ │ │ │ ├── Bug_for_wuyexiong.java │ │ │ │ │ │ ├── Bug_for_wuzhengmao.java │ │ │ │ │ │ ├── Bug_for_xiayucai2012.java │ │ │ │ │ │ ├── Bug_for_xiedun.java │ │ │ │ │ │ ├── Bug_for_xujin.java │ │ │ │ │ │ ├── Bug_for_xujin2.java │ │ │ │ │ │ ├── Bug_for_xujin_int.java │ │ │ │ │ │ ├── Bug_for_xuzebin.java │ │ │ │ │ │ ├── Bug_for_yangqi.java │ │ │ │ │ │ ├── Bug_for_yangzhou.java │ │ │ │ │ │ ├── Bug_for_yannywang.java │ │ │ │ │ │ ├── Bug_for_yanpei.java │ │ │ │ │ │ ├── Bug_for_yanpei2.java │ │ │ │ │ │ ├── Bug_for_yanpei3.java │ │ │ │ │ │ ├── Bug_for_yanpei4.java │ │ │ │ │ │ ├── Bug_for_yaoming.java │ │ │ │ │ │ ├── Bug_for_yaoming_1.java │ │ │ │ │ │ ├── Bug_for_yuanmomo_Issue_504.java │ │ │ │ │ │ ├── Bug_for_yuanmomo_Issue_505_1.java │ │ │ │ │ │ ├── Bug_for_yunban.java │ │ │ │ │ │ ├── Bug_for_zengjie.java │ │ │ │ │ │ ├── Bug_for_zhaoyao.java │ │ │ │ │ │ ├── Bug_for_zhongyin.java │ │ │ │ │ │ ├── Bug_for_zhuangzaowen.java │ │ │ │ │ │ ├── Bug_for_zhuel.java │ │ │ │ │ │ ├── CollectionEmptyMapTest.java │ │ │ │ │ │ ├── FastJsonSerializeIterableTest.java │ │ │ │ │ │ ├── Issue1005.java │ │ │ │ │ │ ├── Issue101.java │ │ │ │ │ │ ├── Issue1013.java │ │ │ │ │ │ ├── Issue1017.java │ │ │ │ │ │ ├── Issue101_NoneASM.java │ │ │ │ │ │ ├── Issue101_field.java │ │ │ │ │ │ ├── Issue101_field_NoneASM.java │ │ │ │ │ │ ├── Issue1020.java │ │ │ │ │ │ ├── Issue1023.java │ │ │ │ │ │ ├── Issue1030.java │ │ │ │ │ │ ├── Issue1036.java │ │ │ │ │ │ ├── Issue1063.java │ │ │ │ │ │ ├── Issue1063_date.java │ │ │ │ │ │ ├── Issue1074.java │ │ │ │ │ │ ├── Issue1075.java │ │ │ │ │ │ ├── Issue109.java │ │ │ │ │ │ ├── Issue115.java │ │ │ │ │ │ ├── Issue117.java │ │ │ │ │ │ ├── Issue118.java │ │ │ │ │ │ ├── Issue119.java │ │ │ │ │ │ ├── Issue124.java │ │ │ │ │ │ ├── Issue125.java │ │ │ │ │ │ ├── Issue126.java │ │ │ │ │ │ ├── Issue127.java │ │ │ │ │ │ ├── Issue1296.java │ │ │ │ │ │ ├── Issue141.java │ │ │ │ │ │ ├── Issue143.java │ │ │ │ │ │ ├── Issue146.java │ │ │ │ │ │ ├── Issue153.java │ │ │ │ │ │ ├── Issue157.java │ │ │ │ │ │ ├── Issue166.java │ │ │ │ │ │ ├── Issue169.java │ │ │ │ │ │ ├── Issue171.java │ │ │ │ │ │ ├── Issue176.java │ │ │ │ │ │ ├── Issue177.java │ │ │ │ │ │ ├── Issue179.java │ │ │ │ │ │ ├── Issue183.java │ │ │ │ │ │ ├── Issue184.java │ │ │ │ │ │ ├── Issue190.java │ │ │ │ │ │ ├── Issue199.java │ │ │ │ │ │ ├── Issue204.java │ │ │ │ │ │ ├── Issue208.java │ │ │ │ │ │ ├── Issue215.java │ │ │ │ │ │ ├── Issue215_boolean_array.java │ │ │ │ │ │ ├── Issue215_char_array.java │ │ │ │ │ │ ├── Issue215_double_array.java │ │ │ │ │ │ ├── Issue215_float_array.java │ │ │ │ │ │ ├── Issue215_int_array.java │ │ │ │ │ │ ├── Issue215_long_array.java │ │ │ │ │ │ ├── Issue215_short_array.java │ │ │ │ │ │ ├── Issue220.java │ │ │ │ │ │ ├── Issue243.java │ │ │ │ │ │ ├── Issue248_orderedField.java │ │ │ │ │ │ ├── Issue274.java │ │ │ │ │ │ ├── Issue363.java │ │ │ │ │ │ ├── Issue408.java │ │ │ │ │ │ ├── Issue569.java │ │ │ │ │ │ ├── Issue569_1.java │ │ │ │ │ │ ├── Issue585.java │ │ │ │ │ │ ├── Issue62.java │ │ │ │ │ │ ├── Issue64.java │ │ │ │ │ │ ├── Issue688.java │ │ │ │ │ │ ├── Issue689.java │ │ │ │ │ │ ├── Issue69.java │ │ │ │ │ │ ├── Issue72.java │ │ │ │ │ │ ├── Issue74.java │ │ │ │ │ │ ├── Issue743.java │ │ │ │ │ │ ├── Issue744.java │ │ │ │ │ │ ├── Issue744_1.java │ │ │ │ │ │ ├── Issue763.java │ │ │ │ │ │ ├── Issue771.java │ │ │ │ │ │ ├── Issue776.java │ │ │ │ │ │ ├── Issue779.java │ │ │ │ │ │ ├── Issue780.java │ │ │ │ │ │ ├── Issue784.java │ │ │ │ │ │ ├── Issue79.java │ │ │ │ │ │ ├── Issue793.java │ │ │ │ │ │ ├── Issue798.java │ │ │ │ │ │ ├── Issue798_1.java │ │ │ │ │ │ ├── Issue799.java │ │ │ │ │ │ ├── Issue801.java │ │ │ │ │ │ ├── Issue804.java │ │ │ │ │ │ ├── Issue821.java │ │ │ │ │ │ ├── Issue859.java │ │ │ │ │ │ ├── Issue868.java │ │ │ │ │ │ ├── Issue869.java │ │ │ │ │ │ ├── Issue869_1.java │ │ │ │ │ │ ├── Issue87.java │ │ │ │ │ │ ├── Issue878.java │ │ │ │ │ │ ├── Issue87_hashset.java │ │ │ │ │ │ ├── Issue87_treeset.java │ │ │ │ │ │ ├── Issue887.java │ │ │ │ │ │ ├── Issue89.java │ │ │ │ │ │ ├── Issue894.java │ │ │ │ │ │ ├── Issue900.java │ │ │ │ │ │ ├── Issue900_1.java │ │ │ │ │ │ ├── Issue912.java │ │ │ │ │ │ ├── Issue922.java │ │ │ │ │ │ ├── Issue923.java │ │ │ │ │ │ ├── Issue939.java │ │ │ │ │ │ ├── Issue94.java │ │ │ │ │ │ ├── Issue942.java │ │ │ │ │ │ ├── Issue943.java │ │ │ │ │ │ ├── Issue944.java │ │ │ │ │ │ ├── Issue952.java │ │ │ │ │ │ ├── Issue955.java │ │ │ │ │ │ ├── Issue96.java │ │ │ │ │ │ ├── Issue963.java │ │ │ │ │ │ ├── Issue975.java │ │ │ │ │ │ ├── Issue978.java │ │ │ │ │ │ ├── Issue983.java │ │ │ │ │ │ ├── Issue983_1.java │ │ │ │ │ │ ├── Issue987.java │ │ │ │ │ │ ├── Issue989.java │ │ │ │ │ │ ├── Issue993.java │ │ │ │ │ │ ├── Issue995.java │ │ │ │ │ │ ├── Issue997.java │ │ │ │ │ │ ├── Issue998.java │ │ │ │ │ │ ├── Issue998_private.java │ │ │ │ │ │ ├── Issue_611.java │ │ │ │ │ │ ├── Issue_717.java │ │ │ │ │ │ ├── Issue_748.java │ │ │ │ │ │ ├── Issue_for_huangfeng.java │ │ │ │ │ │ ├── Issue_for_jiongxiong.java │ │ │ │ │ │ ├── Issue_for_oschina_3087749_2215732.java │ │ │ │ │ │ ├── Issue_for_zuojing.java │ │ │ │ │ │ ├── JSONTest.java │ │ │ │ │ │ ├── KeyBug_for_zhongl.java │ │ │ │ │ │ ├── Mogujie_01.java │ │ │ │ │ │ ├── Mogujie_02.java │ │ │ │ │ │ ├── SerDeserTest.java │ │ │ │ │ │ ├── StackTraceElementTest.java │ │ │ │ │ │ ├── StackTraceElementTest2.java │ │ │ │ │ │ ├── TestDouble.java │ │ │ │ │ │ ├── TestJSONMap.java │ │ │ │ │ │ ├── WuqiTest.java │ │ │ │ │ │ ├── bug201806/ │ │ │ │ │ │ │ └── Bug_for_weiqiang.java │ │ │ │ │ │ ├── bug201810/ │ │ │ │ │ │ │ └── LatLngTest.java │ │ │ │ │ │ ├── bug2019/ │ │ │ │ │ │ │ └── Bug20190729_01.java │ │ │ │ │ │ ├── bug2020/ │ │ │ │ │ │ │ ├── Bug_for_emptyList.java │ │ │ │ │ │ │ └── Bug_for_money.java │ │ │ │ │ │ ├── bug_for_caoyaojun1988.java │ │ │ │ │ │ └── bug_for_pengsong0302.java │ │ │ │ │ ├── builder/ │ │ │ │ │ │ ├── BuilderTest0.java │ │ │ │ │ │ ├── BuilderTest0_private.java │ │ │ │ │ │ ├── BuilderTest1.java │ │ │ │ │ │ ├── BuilderTest1_private.java │ │ │ │ │ │ ├── BuilderTest2.java │ │ │ │ │ │ ├── BuilderTest2_private.java │ │ │ │ │ │ ├── BuilderTest3.java │ │ │ │ │ │ ├── BuilderTest3_private.java │ │ │ │ │ │ ├── BuilderTest_error.java │ │ │ │ │ │ └── BuilderTest_error_private.java │ │ │ │ │ ├── cglib/ │ │ │ │ │ │ └── TestCglib.java │ │ │ │ │ ├── comparing_json_modules/ │ │ │ │ │ │ ├── ComplexAndDecimalTest.java │ │ │ │ │ │ ├── Floating_point_Test.java │ │ │ │ │ │ ├── Integral_types_Test.java │ │ │ │ │ │ └── Invalid_Test.java │ │ │ │ │ ├── compatible/ │ │ │ │ │ │ ├── ThreadLocalCacheTest.java │ │ │ │ │ │ ├── TypeUtilsComputeGettersTest.java │ │ │ │ │ │ └── jsonlib/ │ │ │ │ │ │ ├── CompatibleTest0.java │ │ │ │ │ │ └── CompatibleTest_noasm.java │ │ │ │ │ ├── date/ │ │ │ │ │ │ ├── CalendarTest.java │ │ │ │ │ │ ├── DateFieldFormatTest.java │ │ │ │ │ │ ├── DateFieldTest.java │ │ │ │ │ │ ├── DateFieldTest10.java │ │ │ │ │ │ ├── DateFieldTest11_reader.java │ │ │ │ │ │ ├── DateFieldTest12_t.java │ │ │ │ │ │ ├── DateFieldTest2.java │ │ │ │ │ │ ├── DateFieldTest3.java │ │ │ │ │ │ ├── DateFieldTest4.java │ │ │ │ │ │ ├── DateFieldTest5.java │ │ │ │ │ │ ├── DateFieldTest6.java │ │ │ │ │ │ ├── DateFieldTest7.java │ │ │ │ │ │ ├── DateFieldTest8.java │ │ │ │ │ │ ├── DateFieldTest9.java │ │ │ │ │ │ ├── DateFormatPriorityTest.java │ │ │ │ │ │ ├── DateNewTest.java │ │ │ │ │ │ ├── DateTest.java │ │ │ │ │ │ ├── DateTest1.java │ │ │ │ │ │ ├── DateTest2.java │ │ │ │ │ │ ├── DateTest_dotnet.java │ │ │ │ │ │ ├── DateTest_dotnet_1.java │ │ │ │ │ │ ├── DateTest_dotnet_2.java │ │ │ │ │ │ ├── DateTest_dotnet_3.java │ │ │ │ │ │ ├── DateTest_dotnet_4.java │ │ │ │ │ │ ├── DateTest_dotnet_5.java │ │ │ │ │ │ ├── DateTest_error.java │ │ │ │ │ │ ├── DateTest_tz.java │ │ │ │ │ │ └── XMLGregorianCalendarTest.java │ │ │ │ │ ├── dubbo/ │ │ │ │ │ │ └── TestForDubbo.java │ │ │ │ │ ├── emoji/ │ │ │ │ │ │ └── EmojiTest0.java │ │ │ │ │ ├── feature/ │ │ │ │ │ │ ├── DisableFieldSmartMatchTest.java │ │ │ │ │ │ ├── DisableFieldSmartMatchTest_2.java │ │ │ │ │ │ ├── FeatureTest_8.java │ │ │ │ │ │ ├── FeaturesTest.java │ │ │ │ │ │ ├── FeaturesTest2.java │ │ │ │ │ │ ├── FeaturesTest3.java │ │ │ │ │ │ ├── FeaturesTest4.java │ │ │ │ │ │ ├── FeaturesTest5.java │ │ │ │ │ │ ├── FeaturesTest5_1.java │ │ │ │ │ │ ├── FeaturesTest6.java │ │ │ │ │ │ ├── FeaturesTest7.java │ │ │ │ │ │ ├── IgnoreErrorGetterTest.java │ │ │ │ │ │ ├── IgnoreErrorGetterTest_field.java │ │ │ │ │ │ ├── IgnoreErrorGetterTest_private.java │ │ │ │ │ │ ├── InitStringFieldAsEmptyTest.java │ │ │ │ │ │ ├── WriteNullStringAsEmptyTest.java │ │ │ │ │ │ └── WriteNullStringAsEmptyTest2.java │ │ │ │ │ ├── fullSer/ │ │ │ │ │ │ ├── EmtpyLinkedHashMapTest.java │ │ │ │ │ │ ├── LongTest.java │ │ │ │ │ │ ├── ToJavaObjectTest.java │ │ │ │ │ │ ├── ToJavaObjectTest2.java │ │ │ │ │ │ ├── get_set_Test.java │ │ │ │ │ │ ├── getfTest.java │ │ │ │ │ │ ├── getfTest_2.java │ │ │ │ │ │ └── is_set_test_2.java │ │ │ │ │ ├── geo/ │ │ │ │ │ │ ├── FeatureCollectionTest.java │ │ │ │ │ │ ├── FeatureTest.java │ │ │ │ │ │ ├── GeometryCollectionTest.java │ │ │ │ │ │ ├── LineStringTest.java │ │ │ │ │ │ ├── MultiLineStringTest.java │ │ │ │ │ │ ├── MultiPointTest.java │ │ │ │ │ │ ├── MultiPolygonTest.java │ │ │ │ │ │ ├── PointTest.java │ │ │ │ │ │ └── PolygonTest.java │ │ │ │ │ ├── guava/ │ │ │ │ │ │ ├── ArrayListMultimapTest.java │ │ │ │ │ │ ├── HashMultimapTest.java │ │ │ │ │ │ ├── ImmutableMapTest.java │ │ │ │ │ │ ├── LinkedListMultimapTest.java │ │ │ │ │ │ └── MultiMapTes.java │ │ │ │ │ ├── issue_1000/ │ │ │ │ │ │ ├── Issue1066.java │ │ │ │ │ │ ├── Issue1079.java │ │ │ │ │ │ ├── Issue1080.java │ │ │ │ │ │ ├── Issue1082.java │ │ │ │ │ │ ├── Issue1083.java │ │ │ │ │ │ ├── Issue1085.java │ │ │ │ │ │ ├── Issue1086.java │ │ │ │ │ │ ├── Issue1089.java │ │ │ │ │ │ ├── Issue1089_private.java │ │ │ │ │ │ └── Issue1095.java │ │ │ │ │ ├── issue_1100/ │ │ │ │ │ │ ├── Issue1109.java │ │ │ │ │ │ ├── Issue1112.java │ │ │ │ │ │ ├── Issue1120.java │ │ │ │ │ │ ├── Issue1121.java │ │ │ │ │ │ ├── Issue1134.java │ │ │ │ │ │ ├── Issue1138.java │ │ │ │ │ │ ├── Issue1140.java │ │ │ │ │ │ ├── Issue1144.java │ │ │ │ │ │ ├── Issue1146.java │ │ │ │ │ │ ├── Issue1150.java │ │ │ │ │ │ ├── Issue1151.java │ │ │ │ │ │ ├── Issue1152.java │ │ │ │ │ │ ├── Issue1153.java │ │ │ │ │ │ ├── Issue1165.java │ │ │ │ │ │ ├── Issue1177.java │ │ │ │ │ │ ├── Issue1177_1.java │ │ │ │ │ │ ├── Issue1177_2.java │ │ │ │ │ │ ├── Issue1177_3.java │ │ │ │ │ │ ├── Issue1177_4.java │ │ │ │ │ │ ├── Issue1178.java │ │ │ │ │ │ ├── Issue1187.java │ │ │ │ │ │ ├── Issue1188.java │ │ │ │ │ │ ├── Issue1189.java │ │ │ │ │ │ └── Issue969.java │ │ │ │ │ ├── issue_1200/ │ │ │ │ │ │ ├── Issue1202.java │ │ │ │ │ │ ├── Issue1203.java │ │ │ │ │ │ ├── Issue1205.java │ │ │ │ │ │ ├── Issue1222.java │ │ │ │ │ │ ├── Issue1222_1.java │ │ │ │ │ │ ├── Issue1225.java │ │ │ │ │ │ ├── Issue1226.java │ │ │ │ │ │ ├── Issue1227.java │ │ │ │ │ │ ├── Issue1229.java │ │ │ │ │ │ ├── Issue1231.java │ │ │ │ │ │ ├── Issue1233.java │ │ │ │ │ │ ├── Issue1235.java │ │ │ │ │ │ ├── Issue1235_noasm.java │ │ │ │ │ │ ├── Issue1240.java │ │ │ │ │ │ ├── Issue1246.java │ │ │ │ │ │ ├── Issue1254.java │ │ │ │ │ │ ├── Issue1256.java │ │ │ │ │ │ ├── Issue1262.java │ │ │ │ │ │ ├── Issue1265.java │ │ │ │ │ │ ├── Issue1267.java │ │ │ │ │ │ ├── Issue1271.java │ │ │ │ │ │ ├── Issue1272.java │ │ │ │ │ │ ├── Issue1272_IgnoreError.java │ │ │ │ │ │ ├── Issue1274.java │ │ │ │ │ │ ├── Issue1276.java │ │ │ │ │ │ ├── Issue1278.java │ │ │ │ │ │ ├── Issue1281.java │ │ │ │ │ │ ├── Issue1293.java │ │ │ │ │ │ ├── Issue1298.java │ │ │ │ │ │ └── Issue1299.java │ │ │ │ │ ├── issue_1300/ │ │ │ │ │ │ ├── Issue1300.java │ │ │ │ │ │ ├── Issue1303.java │ │ │ │ │ │ ├── Issue1306.java │ │ │ │ │ │ ├── Issue1307.java │ │ │ │ │ │ ├── Issue1310.java │ │ │ │ │ │ ├── Issue1310_noasm.java │ │ │ │ │ │ ├── Issue1319.java │ │ │ │ │ │ ├── Issue1320.java │ │ │ │ │ │ ├── Issue1330.java │ │ │ │ │ │ ├── Issue1330_boolean.java │ │ │ │ │ │ ├── Issue1330_byte.java │ │ │ │ │ │ ├── Issue1330_decimal.java │ │ │ │ │ │ ├── Issue1330_double.java │ │ │ │ │ │ ├── Issue1330_float.java │ │ │ │ │ │ ├── Issue1330_long.java │ │ │ │ │ │ ├── Issue1330_short.java │ │ │ │ │ │ ├── Issue1335.java │ │ │ │ │ │ ├── Issue1341.java │ │ │ │ │ │ ├── Issue1344.java │ │ │ │ │ │ ├── Issue1357.java │ │ │ │ │ │ ├── Issue1362.java │ │ │ │ │ │ ├── Issue1363.java │ │ │ │ │ │ ├── Issue1367.java │ │ │ │ │ │ ├── Issue1367_jaxrs.java │ │ │ │ │ │ ├── Issue1368.java │ │ │ │ │ │ ├── Issue1369.java │ │ │ │ │ │ ├── Issue1370.java │ │ │ │ │ │ ├── Issue1371.java │ │ │ │ │ │ ├── Issue1375.java │ │ │ │ │ │ ├── Issue1392.java │ │ │ │ │ │ ├── Issue1399.java │ │ │ │ │ │ └── Issue_for_zuojian.java │ │ │ │ │ ├── issue_1400/ │ │ │ │ │ │ ├── Issue1400.java │ │ │ │ │ │ ├── Issue1405.java │ │ │ │ │ │ ├── Issue1422.java │ │ │ │ │ │ ├── Issue1423.java │ │ │ │ │ │ ├── Issue1424.java │ │ │ │ │ │ ├── Issue1425.java │ │ │ │ │ │ ├── Issue1429.java │ │ │ │ │ │ ├── Issue1443.java │ │ │ │ │ │ ├── Issue1445.java │ │ │ │ │ │ ├── Issue1449.java │ │ │ │ │ │ ├── Issue1450.java │ │ │ │ │ │ ├── Issue1458.java │ │ │ │ │ │ ├── Issue1465.java │ │ │ │ │ │ ├── Issue1472.java │ │ │ │ │ │ ├── Issue1474.java │ │ │ │ │ │ ├── Issue1478.java │ │ │ │ │ │ ├── Issue1480.java │ │ │ │ │ │ ├── Issue1482.java │ │ │ │ │ │ ├── Issue1486.java │ │ │ │ │ │ ├── Issue1487.java │ │ │ │ │ │ ├── Issue1492.java │ │ │ │ │ │ ├── Issue1493.java │ │ │ │ │ │ ├── Issue1494.java │ │ │ │ │ │ ├── Issue1496.java │ │ │ │ │ │ ├── Issue1498.java │ │ │ │ │ │ └── Issue_for_wuye.java │ │ │ │ │ ├── issue_1500/ │ │ │ │ │ │ ├── Issue1500.java │ │ │ │ │ │ ├── Issue1503.java │ │ │ │ │ │ ├── Issue1510.java │ │ │ │ │ │ ├── Issue1513.java │ │ │ │ │ │ ├── Issue1524.java │ │ │ │ │ │ ├── Issue1529.java │ │ │ │ │ │ ├── Issue1548.java │ │ │ │ │ │ ├── Issue1555.java │ │ │ │ │ │ ├── Issue1556.java │ │ │ │ │ │ ├── Issue1558.java │ │ │ │ │ │ ├── Issue1565.java │ │ │ │ │ │ ├── Issue1570.java │ │ │ │ │ │ ├── Issue1570_private.java │ │ │ │ │ │ ├── Issue1572.java │ │ │ │ │ │ ├── Issue1576.java │ │ │ │ │ │ ├── Issue1580.java │ │ │ │ │ │ ├── Issue1580_private.java │ │ │ │ │ │ ├── Issue1582.java │ │ │ │ │ │ ├── Issue1583.java │ │ │ │ │ │ ├── Issue1584.java │ │ │ │ │ │ ├── Issue1588.java │ │ │ │ │ │ └── StringSerializer.java │ │ │ │ │ ├── issue_1600/ │ │ │ │ │ │ ├── Issue1603_field.java │ │ │ │ │ │ ├── Issue1603_getter.java │ │ │ │ │ │ ├── Issue1603_map.java │ │ │ │ │ │ ├── Issue1603_map_getter.java │ │ │ │ │ │ ├── Issue1611.java │ │ │ │ │ │ ├── Issue1612.java │ │ │ │ │ │ ├── Issue1627.java │ │ │ │ │ │ ├── Issue1628.java │ │ │ │ │ │ ├── Issue1633.java │ │ │ │ │ │ ├── Issue1635.java │ │ │ │ │ │ ├── Issue1636.java │ │ │ │ │ │ ├── Issue1644.java │ │ │ │ │ │ ├── Issue1645.java │ │ │ │ │ │ ├── Issue1647.java │ │ │ │ │ │ ├── Issue1649.java │ │ │ │ │ │ ├── Issue1649_private.java │ │ │ │ │ │ ├── Issue1653.java │ │ │ │ │ │ ├── Issue1657.java │ │ │ │ │ │ ├── Issue1660.java │ │ │ │ │ │ ├── Issue1662.java │ │ │ │ │ │ ├── Issue1662_1.java │ │ │ │ │ │ ├── Issue1665.java │ │ │ │ │ │ ├── Issue1679.java │ │ │ │ │ │ ├── Issue1683.java │ │ │ │ │ │ ├── Issue_for_gaorui.java │ │ │ │ │ │ └── issue_1699/ │ │ │ │ │ │ ├── TestJson.java │ │ │ │ │ │ ├── def/ │ │ │ │ │ │ │ ├── FeeTypeMEnum.java │ │ │ │ │ │ │ ├── InnerTypeMEnum.java │ │ │ │ │ │ │ ├── RatingDetailIsJoinMEnum.java │ │ │ │ │ │ │ ├── RatingDetailStatusMEnum.java │ │ │ │ │ │ │ └── RatingDetailTypeMEnum.java │ │ │ │ │ │ └── obj/ │ │ │ │ │ │ └── RatingDetailBO.java │ │ │ │ │ ├── issue_1700/ │ │ │ │ │ │ ├── Issue1701.java │ │ │ │ │ │ ├── Issue1723.java │ │ │ │ │ │ ├── Issue1725.java │ │ │ │ │ │ ├── Issue1727.java │ │ │ │ │ │ ├── Issue1733_jsonpath.java │ │ │ │ │ │ ├── Issue1739.java │ │ │ │ │ │ ├── Issue1761.java │ │ │ │ │ │ ├── Issue1763.java │ │ │ │ │ │ ├── Issue1764.java │ │ │ │ │ │ ├── Issue1764_bean.java │ │ │ │ │ │ ├── Issue1764_bean_biginteger.java │ │ │ │ │ │ ├── Issue1764_bean_biginteger_field.java │ │ │ │ │ │ ├── Issue1764_bean_biginteger_type.java │ │ │ │ │ │ ├── Issue1766.java │ │ │ │ │ │ ├── Issue1769.java │ │ │ │ │ │ ├── Issue1772.java │ │ │ │ │ │ ├── Issue1780_JSONObject.java │ │ │ │ │ │ ├── Issue1780_Module.java │ │ │ │ │ │ ├── Issue1785.java │ │ │ │ │ │ └── issue1763_2/ │ │ │ │ │ │ ├── TestIssue1763_2.java │ │ │ │ │ │ ├── TypeReferenceBug1763_2.java │ │ │ │ │ │ └── bean/ │ │ │ │ │ │ ├── BaseResult.java │ │ │ │ │ │ ├── CouponResult.java │ │ │ │ │ │ └── PageResult.java │ │ │ │ │ ├── issue_1800/ │ │ │ │ │ │ ├── Issue1821.java │ │ │ │ │ │ ├── Issue1834.java │ │ │ │ │ │ ├── Issue1856.java │ │ │ │ │ │ ├── Issue1870.java │ │ │ │ │ │ ├── Issue1871.java │ │ │ │ │ │ ├── Issue1879.java │ │ │ │ │ │ ├── Issue1892.java │ │ │ │ │ │ ├── Issue_for_dianxing.java │ │ │ │ │ │ └── Issue_for_float_zero.java │ │ │ │ │ ├── issue_1900/ │ │ │ │ │ │ ├── Issue1901.java │ │ │ │ │ │ ├── Issue1903.java │ │ │ │ │ │ ├── Issue1909.java │ │ │ │ │ │ ├── Issue1933.java │ │ │ │ │ │ ├── Issue1939.java │ │ │ │ │ │ ├── Issue1941.java │ │ │ │ │ │ ├── Issue1941_JSONField_order.java │ │ │ │ │ │ ├── Issue1944.java │ │ │ │ │ │ ├── Issue1945.java │ │ │ │ │ │ ├── Issue1955.java │ │ │ │ │ │ ├── Issue1972.java │ │ │ │ │ │ ├── Issue1977.java │ │ │ │ │ │ ├── Issue1987.java │ │ │ │ │ │ └── Issue1996.java │ │ │ │ │ ├── issue_2000/ │ │ │ │ │ │ ├── Issue2012.java │ │ │ │ │ │ ├── Issue2040.java │ │ │ │ │ │ ├── Issue2065.java │ │ │ │ │ │ ├── Issue2066.java │ │ │ │ │ │ ├── Issue2074.java │ │ │ │ │ │ ├── Issue2086.java │ │ │ │ │ │ └── Issue2088.java │ │ │ │ │ ├── issue_2100/ │ │ │ │ │ │ ├── Issue2129.java │ │ │ │ │ │ ├── Issue2130.java │ │ │ │ │ │ ├── Issue2132.java │ │ │ │ │ │ ├── Issue2150.java │ │ │ │ │ │ ├── Issue2156.java │ │ │ │ │ │ ├── Issue2164.java │ │ │ │ │ │ ├── Issue2165.java │ │ │ │ │ │ ├── Issue2179.java │ │ │ │ │ │ ├── Issue2182.java │ │ │ │ │ │ ├── Issue2185.java │ │ │ │ │ │ └── Issue2189.java │ │ │ │ │ ├── issue_2200/ │ │ │ │ │ │ ├── Issue2201.java │ │ │ │ │ │ ├── Issue2206.java │ │ │ │ │ │ ├── Issue2214.java │ │ │ │ │ │ ├── Issue2216.java │ │ │ │ │ │ ├── Issue2224.java │ │ │ │ │ │ ├── Issue2229.java │ │ │ │ │ │ ├── Issue2234.java │ │ │ │ │ │ ├── Issue2238.java │ │ │ │ │ │ ├── Issue2239.java │ │ │ │ │ │ ├── Issue2240.java │ │ │ │ │ │ ├── Issue2241.java │ │ │ │ │ │ ├── Issue2244.java │ │ │ │ │ │ ├── Issue2249.java │ │ │ │ │ │ ├── Issue2251.java │ │ │ │ │ │ ├── Issue2253.java │ │ │ │ │ │ ├── Issue2254.java │ │ │ │ │ │ ├── Issue2260.java │ │ │ │ │ │ ├── Issue2262.java │ │ │ │ │ │ ├── Issue2264.java │ │ │ │ │ │ ├── Issue2289.java │ │ │ │ │ │ ├── Issue_for_luohaoyu.java │ │ │ │ │ │ ├── issue2224/ │ │ │ │ │ │ │ ├── CollectionEx.java │ │ │ │ │ │ │ ├── KeyedCollection.java │ │ │ │ │ │ │ ├── Person.java │ │ │ │ │ │ │ └── PersonCollection.java │ │ │ │ │ │ ├── issue2224_2/ │ │ │ │ │ │ │ ├── GroupedCollection.java │ │ │ │ │ │ │ ├── PersonGroupedCollection.java │ │ │ │ │ │ │ └── StringGroupedCollection.java │ │ │ │ │ │ ├── issue2224_3/ │ │ │ │ │ │ │ ├── ArrayGroupedCollection.java │ │ │ │ │ │ │ ├── ArrayPersonGroupedCollection.java │ │ │ │ │ │ │ └── ArrayStringGroupedCollection.java │ │ │ │ │ │ ├── issue2224_4/ │ │ │ │ │ │ │ ├── MAGroupedCollection.java │ │ │ │ │ │ │ ├── MAPersonGroupedCollection.java │ │ │ │ │ │ │ └── MAStringGroupedCollection.java │ │ │ │ │ │ └── issue2224_5/ │ │ │ │ │ │ ├── MA2GroupedCollection.java │ │ │ │ │ │ ├── MA2PersonGroupedCollection.java │ │ │ │ │ │ └── MA2StringGroupedCollection.java │ │ │ │ │ ├── issue_2300/ │ │ │ │ │ │ ├── Issue2300.java │ │ │ │ │ │ ├── Issue2306.java │ │ │ │ │ │ ├── Issue2311.java │ │ │ │ │ │ ├── Issue2334.java │ │ │ │ │ │ ├── Issue2341.java │ │ │ │ │ │ ├── Issue2343.java │ │ │ │ │ │ ├── Issue2344.java │ │ │ │ │ │ ├── Issue2346.java │ │ │ │ │ │ ├── Issue2348.java │ │ │ │ │ │ ├── Issue2351.java │ │ │ │ │ │ ├── Issue2355.java │ │ │ │ │ │ ├── Issue2357.java │ │ │ │ │ │ ├── Issue2358.java │ │ │ │ │ │ ├── Issue2371.java │ │ │ │ │ │ ├── Issue2387.java │ │ │ │ │ │ └── Issue2397.java │ │ │ │ │ ├── issue_2400/ │ │ │ │ │ │ ├── Issue2428.java │ │ │ │ │ │ ├── Issue2429.java │ │ │ │ │ │ ├── Issue2430.java │ │ │ │ │ │ ├── Issue2447.java │ │ │ │ │ │ ├── Issue2464.java │ │ │ │ │ │ └── Issue2488.java │ │ │ │ │ ├── issue_2500/ │ │ │ │ │ │ ├── Issue2515.java │ │ │ │ │ │ ├── Issue2516.java │ │ │ │ │ │ └── Issue2579.java │ │ │ │ │ ├── issue_2600/ │ │ │ │ │ │ ├── Issue2606.java │ │ │ │ │ │ ├── Issue2617.java │ │ │ │ │ │ ├── Issue2628.java │ │ │ │ │ │ ├── Issue2635.java │ │ │ │ │ │ ├── Issue2678.java │ │ │ │ │ │ ├── Issue2685.java │ │ │ │ │ │ └── Issue2689.java │ │ │ │ │ ├── issue_2700/ │ │ │ │ │ │ ├── Issue2703.java │ │ │ │ │ │ ├── Issue2721Test.java │ │ │ │ │ │ ├── Issue2736.java │ │ │ │ │ │ ├── Issue2743.java │ │ │ │ │ │ ├── Issue2752.java │ │ │ │ │ │ ├── Issue2754.java │ │ │ │ │ │ ├── Issue2772.java │ │ │ │ │ │ ├── Issue2779.java │ │ │ │ │ │ ├── Issue2784.java │ │ │ │ │ │ ├── Issue2787.java │ │ │ │ │ │ ├── Issue2791.java │ │ │ │ │ │ └── Issue2792.java │ │ │ │ │ ├── issue_2800/ │ │ │ │ │ │ ├── Issue2830.java │ │ │ │ │ │ ├── Issue2866.java │ │ │ │ │ │ ├── Issue2894.java │ │ │ │ │ │ └── Issue2903.java │ │ │ │ │ ├── issue_2900/ │ │ │ │ │ │ ├── Issue2914.java │ │ │ │ │ │ ├── Issue2939.java │ │ │ │ │ │ ├── Issue2952.java │ │ │ │ │ │ ├── Issue2962.java │ │ │ │ │ │ └── Issue2982.java │ │ │ │ │ ├── issue_3000/ │ │ │ │ │ │ ├── Issue3031.java │ │ │ │ │ │ ├── Issue3049.java │ │ │ │ │ │ ├── Issue3057.java │ │ │ │ │ │ ├── Issue3060.java │ │ │ │ │ │ ├── Issue3065.java │ │ │ │ │ │ ├── Issue3066.java │ │ │ │ │ │ ├── Issue3075.java │ │ │ │ │ │ ├── Issue3082.java │ │ │ │ │ │ ├── Issue3083.kt │ │ │ │ │ │ ├── Issue3093.java │ │ │ │ │ │ └── Issue3138.java │ │ │ │ │ ├── issue_3100/ │ │ │ │ │ │ ├── Issue3109.java │ │ │ │ │ │ ├── Issue3131.java │ │ │ │ │ │ ├── Issue3132.java │ │ │ │ │ │ ├── Issue3150.java │ │ │ │ │ │ └── Issue3160.java │ │ │ │ │ ├── issue_3200/ │ │ │ │ │ │ ├── Issue3206.java │ │ │ │ │ │ ├── Issue3217.java │ │ │ │ │ │ ├── Issue3227.java │ │ │ │ │ │ ├── Issue3245.java │ │ │ │ │ │ ├── Issue3246.java │ │ │ │ │ │ ├── Issue3264.java │ │ │ │ │ │ ├── Issue3266.java │ │ │ │ │ │ ├── Issue3266_mixedin.java │ │ │ │ │ │ ├── Issue3267.java │ │ │ │ │ │ ├── Issue3274.kt │ │ │ │ │ │ ├── Issue3279.java │ │ │ │ │ │ ├── Issue3281.java │ │ │ │ │ │ ├── Issue3282.java │ │ │ │ │ │ ├── Issue3283.java │ │ │ │ │ │ ├── Issue3293.java │ │ │ │ │ │ └── TestIssue3223.kt │ │ │ │ │ ├── issue_3300/ │ │ │ │ │ │ ├── Issue3217.java │ │ │ │ │ │ ├── Issue3309.java │ │ │ │ │ │ ├── Issue3313.java │ │ │ │ │ │ ├── Issue3326.java │ │ │ │ │ │ ├── Issue3329.java │ │ │ │ │ │ ├── Issue3334.java │ │ │ │ │ │ ├── Issue3336.java │ │ │ │ │ │ ├── Issue3338.java │ │ │ │ │ │ ├── Issue3343.java │ │ │ │ │ │ ├── Issue3344.java │ │ │ │ │ │ ├── Issue3347.java │ │ │ │ │ │ ├── Issue3351.java │ │ │ │ │ │ ├── Issue3352.java │ │ │ │ │ │ ├── Issue3356.java │ │ │ │ │ │ ├── Issue3358.java │ │ │ │ │ │ ├── Issue3361.java │ │ │ │ │ │ ├── Issue3373.java │ │ │ │ │ │ ├── Issue3375.java │ │ │ │ │ │ ├── Issue3376.java │ │ │ │ │ │ ├── Issue3397.java │ │ │ │ │ │ ├── Issue3443.java │ │ │ │ │ │ ├── Issue3448.java │ │ │ │ │ │ └── IssueForJSONFieldMatch.java │ │ │ │ │ ├── issue_3400/ │ │ │ │ │ │ ├── Issue3436.java │ │ │ │ │ │ ├── Issue3452.java │ │ │ │ │ │ ├── Issue3453.java │ │ │ │ │ │ ├── Issue3460.java │ │ │ │ │ │ ├── Issue3465.java │ │ │ │ │ │ ├── Issue3470.java │ │ │ │ │ │ └── Issue_20201016_01.java │ │ │ │ │ ├── issue_3500/ │ │ │ │ │ │ ├── Issue3516.java │ │ │ │ │ │ ├── Issue3539.java │ │ │ │ │ │ ├── Issue3544.java │ │ │ │ │ │ ├── Issue3571.java │ │ │ │ │ │ └── Issue3579.java │ │ │ │ │ ├── issue_3600/ │ │ │ │ │ │ ├── Issue3614.java │ │ │ │ │ │ ├── Issue3628.java │ │ │ │ │ │ ├── Issue3629.java │ │ │ │ │ │ ├── Issue3631.java │ │ │ │ │ │ ├── Issue3637.java │ │ │ │ │ │ ├── Issue3652.java │ │ │ │ │ │ ├── Issue3655.java │ │ │ │ │ │ ├── Issue3671.java │ │ │ │ │ │ ├── Issue3672.java │ │ │ │ │ │ ├── Issue3682.java │ │ │ │ │ │ ├── Issue3689.java │ │ │ │ │ │ └── Issue3693.java │ │ │ │ │ ├── issue_3800/ │ │ │ │ │ │ └── Issue3810.java │ │ │ │ │ ├── jdk7/ │ │ │ │ │ │ └── PathTest.java │ │ │ │ │ ├── jdk8/ │ │ │ │ │ │ ├── DoubleAdderTest.java │ │ │ │ │ │ ├── DurationTest.java │ │ │ │ │ │ ├── InstantTest.java │ │ │ │ │ │ ├── LocalDateTest.java │ │ │ │ │ │ ├── LocalDateTest2.java │ │ │ │ │ │ ├── LocalDateTest3.java │ │ │ │ │ │ ├── LocalDateTest4.java │ │ │ │ │ │ ├── LocalDateTest5.java │ │ │ │ │ │ ├── LocalDateTimeTest.java │ │ │ │ │ │ ├── LocalDateTimeTest2.java │ │ │ │ │ │ ├── LocalDateTimeTest3.java │ │ │ │ │ │ ├── LocalDateTimeTest3_private.java │ │ │ │ │ │ ├── LocalDateTimeTest4.java │ │ │ │ │ │ ├── LocalDateTimeTest5.java │ │ │ │ │ │ ├── LocalTimeTest.java │ │ │ │ │ │ ├── LocalTimeTest2.java │ │ │ │ │ │ ├── LocalTimeTest3.java │ │ │ │ │ │ ├── LongAdderTest.java │ │ │ │ │ │ ├── OffseTimeTest.java │ │ │ │ │ │ ├── OffsetDateTimeTest.java │ │ │ │ │ │ ├── OptionalDouble_Test.java │ │ │ │ │ │ ├── OptionalInt_Test.java │ │ │ │ │ │ ├── OptionalLong_Test.java │ │ │ │ │ │ ├── OptionalTest.java │ │ │ │ │ │ ├── OptionalTest2.java │ │ │ │ │ │ ├── OptionalTest3.java │ │ │ │ │ │ ├── OptionalTest4.java │ │ │ │ │ │ ├── OptionalTest_empty.java │ │ │ │ │ │ ├── PeriodTest.java │ │ │ │ │ │ ├── ZoneIdTest.java │ │ │ │ │ │ ├── ZonedDateTimeTest.java │ │ │ │ │ │ └── ZonedDateTimeTest2.java │ │ │ │ │ ├── joda/ │ │ │ │ │ │ ├── JodaTest_0.java │ │ │ │ │ │ ├── JodaTest_1_LocalDateTime.java │ │ │ │ │ │ ├── JodaTest_2_LocalDateTimeTest3_private.java │ │ │ │ │ │ ├── JodaTest_3_LocalTimeTest.java │ │ │ │ │ │ ├── JodaTest_4_InstantTest.java │ │ │ │ │ │ ├── JodaTest_5_DateTimeFormatter.java │ │ │ │ │ │ ├── JodaTest_6_Duration.java │ │ │ │ │ │ ├── JodaTest_6_Period.java │ │ │ │ │ │ ├── JodaTest_7_DateTimeZone.java │ │ │ │ │ │ └── JodaTest_8_DateTimeTest.java │ │ │ │ │ ├── jsonfield/ │ │ │ │ │ │ ├── JSONFieldTest_0.java │ │ │ │ │ │ └── JSONFieldTest_1.java │ │ │ │ │ ├── jsonp/ │ │ │ │ │ │ ├── JSONPParseTest.java │ │ │ │ │ │ ├── JSONPParseTest1.java │ │ │ │ │ │ ├── JSONPParseTest2.java │ │ │ │ │ │ ├── JSONPParseTest3.java │ │ │ │ │ │ └── JSONPParseTest4.java │ │ │ │ │ ├── jsonpatch/ │ │ │ │ │ │ └── JSONPatchTest_0.java │ │ │ │ │ ├── kotlin/ │ │ │ │ │ │ ├── ClassWithPairMixedTypesTest.java │ │ │ │ │ │ ├── ClassWithPairTest.java │ │ │ │ │ │ ├── ClassWithRangesTest.java │ │ │ │ │ │ ├── ClassWithTripleTest.java │ │ │ │ │ │ ├── Class_WithPrimaryAndSecondaryConstructorTest.java │ │ │ │ │ │ ├── DataClassSimpleTest.java │ │ │ │ │ │ ├── DataClassTest.java │ │ │ │ │ │ ├── Issue1420.java │ │ │ │ │ │ ├── Issue1462.java │ │ │ │ │ │ ├── Issue1483.java │ │ │ │ │ │ ├── Issue1524.java │ │ │ │ │ │ ├── Issue1543.java │ │ │ │ │ │ ├── Issue1547.java │ │ │ │ │ │ ├── Issue1569.java │ │ │ │ │ │ ├── Issue1750.java │ │ │ │ │ │ ├── Issue_for_kotlin_20181203.java │ │ │ │ │ │ ├── ResponseKotlin2Test.java │ │ │ │ │ │ ├── ResponseKotlinTest.java │ │ │ │ │ │ └── Zoujing.java │ │ │ │ │ ├── lombok/ │ │ │ │ │ │ └── LomBokTest.java │ │ │ │ │ ├── mixins/ │ │ │ │ │ │ ├── MixInRemovalTest.java │ │ │ │ │ │ ├── MixinAPITest.java │ │ │ │ │ │ ├── MixinDeserForClassTest.java │ │ │ │ │ │ ├── MixinDeserForMethodsTest.java │ │ │ │ │ │ ├── MixinInheritanceTest.java │ │ │ │ │ │ ├── MixinJSONTypeTest.java │ │ │ │ │ │ ├── MixinMergingTest.java │ │ │ │ │ │ ├── MixinSerForFieldsTest.java │ │ │ │ │ │ └── MixinSerForMethodsTest.java │ │ │ │ │ ├── naming/ │ │ │ │ │ │ ├── ListCaseTest.java │ │ │ │ │ │ └── NamingSerTest.java │ │ │ │ │ ├── parser/ │ │ │ │ │ │ ├── AEHuangliang2Test.java │ │ │ │ │ │ ├── AETest.java │ │ │ │ │ │ ├── Alipay1213.java │ │ │ │ │ │ ├── AmbiguousTest.java │ │ │ │ │ │ ├── AsmParserTest0.java │ │ │ │ │ │ ├── AsmParserTest1.java │ │ │ │ │ │ ├── AtomicIntegerComptableAndroidTest.java │ │ │ │ │ │ ├── AtomicLongComptableAndroidTest.java │ │ │ │ │ │ ├── AutoTypeCheckHandlerTest.java │ │ │ │ │ │ ├── BigDecimalKeyFieldTest.java │ │ │ │ │ │ ├── BigListStringFieldTest.java │ │ │ │ │ │ ├── BigListStringFieldTest_private.java │ │ │ │ │ │ ├── BigSpecailKeyTest.java │ │ │ │ │ │ ├── BigSpecailKeyTest2.java │ │ │ │ │ │ ├── BigSpecailStringTest.java │ │ │ │ │ │ ├── BigStringFieldTest.java │ │ │ │ │ │ ├── BigStringFieldTest_private.java │ │ │ │ │ │ ├── ClassConstructorTest1.java │ │ │ │ │ │ ├── ClassTest.java │ │ │ │ │ │ ├── CommentTest.java │ │ │ │ │ │ ├── CreateInstanceErrorTest.java │ │ │ │ │ │ ├── CreateInstanceErrorTest2.java │ │ │ │ │ │ ├── DateParserTest.java │ │ │ │ │ │ ├── DateParserTest_sql.java │ │ │ │ │ │ ├── DateParserTest_sql_timestamp.java │ │ │ │ │ │ ├── DateTest.java │ │ │ │ │ │ ├── DefaultExtJSONParserTest.java │ │ │ │ │ │ ├── DefaultExtJSONParserTest_0.java │ │ │ │ │ │ ├── DefaultExtJSONParserTest_1.java │ │ │ │ │ │ ├── DefaultExtJSONParserTest_2.java │ │ │ │ │ │ ├── DefaultExtJSONParserTest_3.java │ │ │ │ │ │ ├── DefaultExtJSONParserTest_4.java │ │ │ │ │ │ ├── DefaultExtJSONParserTest_5.java │ │ │ │ │ │ ├── DefaultExtJSONParserTest_6.java │ │ │ │ │ │ ├── DefaultExtJSONParserTest_7.java │ │ │ │ │ │ ├── DefaultExtJSONParser_parseArray.java │ │ │ │ │ │ ├── DefaultExtJSONParser_parseArray_2.java │ │ │ │ │ │ ├── DefaultJSONParserTest2.java │ │ │ │ │ │ ├── DefaultJSONParserTest_charArray.java │ │ │ │ │ │ ├── DefaultJSONParserTest_comma.java │ │ │ │ │ │ ├── DefaultJSONParserTest_date.java │ │ │ │ │ │ ├── DefaultJSONParserTest_error.java │ │ │ │ │ │ ├── EmptyImmutableTest.java │ │ │ │ │ │ ├── EnumParserTest.java │ │ │ │ │ │ ├── FastMatchCheckTest.java │ │ │ │ │ │ ├── FeatureCountTest.java │ │ │ │ │ │ ├── FeatureParserTest.java │ │ │ │ │ │ ├── FeatureTest.java │ │ │ │ │ │ ├── InetSocketAddressTest.java │ │ │ │ │ │ ├── JSONArrayParseTest.java │ │ │ │ │ │ ├── JSONLexerAllowCommentTest.java │ │ │ │ │ │ ├── JSONLexerTest.java │ │ │ │ │ │ ├── JSONLexerTest_10.java │ │ │ │ │ │ ├── JSONLexerTest_11.java │ │ │ │ │ │ ├── JSONLexerTest_12.java │ │ │ │ │ │ ├── JSONLexerTest_13.java │ │ │ │ │ │ ├── JSONLexerTest_14.java │ │ │ │ │ │ ├── JSONLexerTest_15.java │ │ │ │ │ │ ├── JSONLexerTest_16.java │ │ │ │ │ │ ├── JSONLexerTest_2.java │ │ │ │ │ │ ├── JSONLexerTest_3.java │ │ │ │ │ │ ├── JSONLexerTest_4.java │ │ │ │ │ │ ├── JSONLexerTest_5.java │ │ │ │ │ │ ├── JSONLexerTest_6.java │ │ │ │ │ │ ├── JSONLexerTest_7.java │ │ │ │ │ │ ├── JSONLexerTest_8.java │ │ │ │ │ │ ├── JSONLexerTest_9.java │ │ │ │ │ │ ├── JSONLexerTest_set.java │ │ │ │ │ │ ├── JSONReaderScannerTest__entity_boolean.java │ │ │ │ │ │ ├── JSONReaderScannerTest__entity_double.java │ │ │ │ │ │ ├── JSONReaderScannerTest__entity_double_2.java │ │ │ │ │ │ ├── JSONReaderScannerTest__entity_enum.java │ │ │ │ │ │ ├── JSONReaderScannerTest__entity_float.java │ │ │ │ │ │ ├── JSONReaderScannerTest__entity_int.java │ │ │ │ │ │ ├── JSONReaderScannerTest__entity_long.java │ │ │ │ │ │ ├── JSONReaderScannerTest__entity_string.java │ │ │ │ │ │ ├── JSONReaderScannerTest__entity_stringList.java │ │ │ │ │ │ ├── JSONReaderScannerTest__map_string.java │ │ │ │ │ │ ├── JSONReaderScannerTest_array_string.java │ │ │ │ │ │ ├── JSONReaderScannerTest_bytes.java │ │ │ │ │ │ ├── JSONReaderScannerTest_decimal.java │ │ │ │ │ │ ├── JSONReaderScannerTest_enum.java │ │ │ │ │ │ ├── JSONReaderScannerTest_error.java │ │ │ │ │ │ ├── JSONReaderScannerTest_error2.java │ │ │ │ │ │ ├── JSONReaderScannerTest_error3.java │ │ │ │ │ │ ├── JSONReaderScannerTest_error4.java │ │ │ │ │ │ ├── JSONReaderScannerTest_error5.java │ │ │ │ │ │ ├── JSONReaderScannerTest_int.java │ │ │ │ │ │ ├── JSONReaderScannerTest_jsonobject.java │ │ │ │ │ │ ├── JSONReaderScannerTest_long.java │ │ │ │ │ │ ├── JSONReaderTest_array_array.java │ │ │ │ │ │ ├── JSONReaderTest_array_array_2.java │ │ │ │ │ │ ├── JSONReaderTest_array_object.java │ │ │ │ │ │ ├── JSONReaderTest_array_object_2.java │ │ │ │ │ │ ├── JSONReaderTest_object_int.java │ │ │ │ │ │ ├── JSONReaderTest_object_int_unquote.java │ │ │ │ │ │ ├── JSONReaderTest_object_long.java │ │ │ │ │ │ ├── JSONReaderTest_object_object.java │ │ │ │ │ │ ├── JSONReaderTest_object_string.java │ │ │ │ │ │ ├── JSONReader_error.java │ │ │ │ │ │ ├── JSONReader_top.java │ │ │ │ │ │ ├── JSONScannerTest_ISO8601.java │ │ │ │ │ │ ├── JSONScannerTest__nextToken.java │ │ │ │ │ │ ├── JSONScannerTest__x.java │ │ │ │ │ │ ├── JSONScannerTest_colon.java │ │ │ │ │ │ ├── JSONScannerTest_false.java │ │ │ │ │ │ ├── JSONScannerTest_ident.java │ │ │ │ │ │ ├── JSONScannerTest_int.java │ │ │ │ │ │ ├── JSONScannerTest_isEOF.java │ │ │ │ │ │ ├── JSONScannerTest_long.java │ │ │ │ │ │ ├── JSONScannerTest_new.java │ │ │ │ │ │ ├── JSONScannerTest_null.java │ │ │ │ │ │ ├── JSONScannerTest_scanFieldBoolean.java │ │ │ │ │ │ ├── JSONScannerTest_scanFieldBoolean_unquote.java │ │ │ │ │ │ ├── JSONScannerTest_scanFieldDouble.java │ │ │ │ │ │ ├── JSONScannerTest_scanFieldFloat.java │ │ │ │ │ │ ├── JSONScannerTest_scanFieldInt.java │ │ │ │ │ │ ├── JSONScannerTest_scanFieldLong.java │ │ │ │ │ │ ├── JSONScannerTest_scanFieldString.java │ │ │ │ │ │ ├── JSONScannerTest_scanFieldStringArray.java │ │ │ │ │ │ ├── JSONScannerTest_scanFieldString_error.java │ │ │ │ │ │ ├── JSONScannerTest_scanSymbol.java │ │ │ │ │ │ ├── JSONScannerTest_singQuoteString.java │ │ │ │ │ │ ├── JSONScannerTest_symbol.java │ │ │ │ │ │ ├── JSONScannerTest_true.java │ │ │ │ │ │ ├── MapResetTest.java │ │ │ │ │ │ ├── MaximumLevelTest.java │ │ │ │ │ │ ├── NullCheckTest.java │ │ │ │ │ │ ├── OrderedFieldTest.java │ │ │ │ │ │ ├── ParseContextTest.java │ │ │ │ │ │ ├── ParseRestTest.java │ │ │ │ │ │ ├── ParserSpecialCharTest.java │ │ │ │ │ │ ├── ParserSpecialCharTest_map.java │ │ │ │ │ │ ├── ParserSpecialCharTest_map_singleQuote.java │ │ │ │ │ │ ├── PrivateConstrunctorTest.java │ │ │ │ │ │ ├── ProductViewTest.java │ │ │ │ │ │ ├── ReadOnlyAtomicBooleanTest.java │ │ │ │ │ │ ├── ReadOnlyAtomicBooleanTest_field.java │ │ │ │ │ │ ├── ReadOnlyAtomicIntegerTest.java │ │ │ │ │ │ ├── ReadOnlyAtomicIntegerTest_field.java │ │ │ │ │ │ ├── ReadOnlyAtomicLongTest.java │ │ │ │ │ │ ├── ReadOnlyAtomicLongTest_field.java │ │ │ │ │ │ ├── ReadOnlyCollectionTest.java │ │ │ │ │ │ ├── ReadOnlyCollectionTest_final_field.java │ │ │ │ │ │ ├── ReadOnlyCollectionTest_final_field_null.java │ │ │ │ │ │ ├── ReadOnlyMapTest.java │ │ │ │ │ │ ├── ReadOnlyMapTest2.java │ │ │ │ │ │ ├── ReadOnlyMapTest2_final_field.java │ │ │ │ │ │ ├── ReadOnlyMapTest_final_field.java │ │ │ │ │ │ ├── RedundantTest.java │ │ │ │ │ │ ├── SafeModeTest.java │ │ │ │ │ │ ├── TestException.java │ │ │ │ │ │ ├── TestInitStringFieldAsEmpty.java │ │ │ │ │ │ ├── TestInitStringFieldAsEmpty2.java │ │ │ │ │ │ ├── TestUTF8.java │ │ │ │ │ │ ├── TestUTF8_2.java │ │ │ │ │ │ ├── TypeReferenceTest.java │ │ │ │ │ │ ├── TypeUtilsTest.java │ │ │ │ │ │ ├── TypeUtilsTest2.java │ │ │ │ │ │ ├── TypeUtilsTest3.java │ │ │ │ │ │ ├── TypeUtilsTest4.java │ │ │ │ │ │ ├── TypeUtilsTest_cast.java │ │ │ │ │ │ ├── TypeUtilsTest_castToBigDecimal.java │ │ │ │ │ │ ├── TypeUtilsTest_castToBigInteger.java │ │ │ │ │ │ ├── TypeUtilsTest_castToBytes.java │ │ │ │ │ │ ├── TypeUtilsTest_castToDate.java │ │ │ │ │ │ ├── TypeUtilsTest_castToJavaBean.java │ │ │ │ │ │ ├── TypeUtilsTest_castToJavaBean_JSONType.java │ │ │ │ │ │ ├── TypeUtilsTest_compatibleWithJavaBean.java │ │ │ │ │ │ ├── TypeUtilsTest_compatibleWithJavaBean_boolean.java │ │ │ │ │ │ ├── TypeUtilsTest_interface.java │ │ │ │ │ │ ├── TypeUtilsTest_loadClass.java │ │ │ │ │ │ ├── TypeUtilsToJSONTest.java │ │ │ │ │ │ ├── TypeUtils_parseDouble_Test.java │ │ │ │ │ │ ├── TypeUtils_parseFloat_Test.java │ │ │ │ │ │ ├── UTF8ByteArrayLexerTest_symbol.java │ │ │ │ │ │ ├── UTF8ByteArrayParseTest.java │ │ │ │ │ │ ├── UnquoteNameTest.java │ │ │ │ │ │ ├── array/ │ │ │ │ │ │ │ ├── BeanToArrayAutoTypeTest.java │ │ │ │ │ │ │ ├── BeanToArrayAutoTypeTest2.java │ │ │ │ │ │ │ ├── BeanToArrayAutoTypeTest3.java │ │ │ │ │ │ │ ├── BeanToArrayTest.java │ │ │ │ │ │ │ ├── BeanToArrayTest2.java │ │ │ │ │ │ │ ├── BeanToArrayTest3.java │ │ │ │ │ │ │ ├── BeanToArrayTest3_private.java │ │ │ │ │ │ │ ├── BeanToArrayTest_date.java │ │ │ │ │ │ │ ├── BeanToArrayTest_date_private.java │ │ │ │ │ │ │ ├── BeanToArrayTest_enum.java │ │ │ │ │ │ │ ├── BeanToArrayTest_enum_private.java │ │ │ │ │ │ │ ├── BeanToArrayTest_int.java │ │ │ │ │ │ │ ├── BeanToArrayTest_long.java │ │ │ │ │ │ │ └── BeanToArrayTest_private.java │ │ │ │ │ │ ├── bug/ │ │ │ │ │ │ │ ├── Bug0.java │ │ │ │ │ │ │ ├── Bug2.java │ │ │ │ │ │ │ ├── Bug_for_changhao.java │ │ │ │ │ │ │ ├── Bug_for_dingzhu.java │ │ │ │ │ │ │ ├── Bug_for_guanxiu.java │ │ │ │ │ │ │ ├── Bug_for_kongmu.java │ │ │ │ │ │ │ ├── Bug_for_lingzhi.java │ │ │ │ │ │ │ ├── Bug_for_lixianfeng.java │ │ │ │ │ │ │ ├── Bug_for_yihaodian.java │ │ │ │ │ │ │ ├── Bug_for_zitao.java │ │ │ │ │ │ │ ├── EmptyParseArrayTest.java │ │ │ │ │ │ │ └── JSONObectNullTest.java │ │ │ │ │ │ ├── creator/ │ │ │ │ │ │ │ ├── JSONCreatorFactoryTest.java │ │ │ │ │ │ │ ├── JSONCreatorTest.java │ │ │ │ │ │ │ ├── JSONCreatorTest10.java │ │ │ │ │ │ │ ├── JSONCreatorTest11.java │ │ │ │ │ │ │ ├── JSONCreatorTest2.java │ │ │ │ │ │ │ ├── JSONCreatorTest3.java │ │ │ │ │ │ │ ├── JSONCreatorTest4.java │ │ │ │ │ │ │ ├── JSONCreatorTest5.java │ │ │ │ │ │ │ ├── JSONCreatorTest6.java │ │ │ │ │ │ │ ├── JSONCreatorTest7.java │ │ │ │ │ │ │ ├── JSONCreatorTest8.java │ │ │ │ │ │ │ ├── JSONCreatorTest9.java │ │ │ │ │ │ │ ├── JSONCreatorTest_default_boolean.java │ │ │ │ │ │ │ ├── JSONCreatorTest_default_byte.java │ │ │ │ │ │ │ ├── JSONCreatorTest_default_double.java │ │ │ │ │ │ │ ├── JSONCreatorTest_default_float.java │ │ │ │ │ │ │ ├── JSONCreatorTest_default_int.java │ │ │ │ │ │ │ ├── JSONCreatorTest_default_long.java │ │ │ │ │ │ │ ├── JSONCreatorTest_default_short.java │ │ │ │ │ │ │ ├── JSONCreatorTest_double.java │ │ │ │ │ │ │ ├── JSONCreatorTest_double_obj.java │ │ │ │ │ │ │ ├── JSONCreatorTest_error.java │ │ │ │ │ │ │ ├── JSONCreatorTest_error2.java │ │ │ │ │ │ │ ├── JSONCreatorTest_error3.java │ │ │ │ │ │ │ ├── JSONCreatorTest_float.java │ │ │ │ │ │ │ └── JSONCreatorTest_float_obj.java │ │ │ │ │ │ ├── deser/ │ │ │ │ │ │ │ ├── AbstractSerializeTest.java │ │ │ │ │ │ │ ├── AbstractSerializeTest2.java │ │ │ │ │ │ │ ├── BigDecimalDeserializerTest.java │ │ │ │ │ │ │ ├── BigDecimalTest.java │ │ │ │ │ │ │ ├── BigIntegerDeserializerTest.java │ │ │ │ │ │ │ ├── BooleanDeserializerTest.java │ │ │ │ │ │ │ ├── BooleanFieldDeserializerTest.java │ │ │ │ │ │ │ ├── BooleanFieldDeserializerTest2.java │ │ │ │ │ │ │ ├── CharArrayDeserializerTest.java │ │ │ │ │ │ │ ├── ClassTest.java │ │ │ │ │ │ │ ├── CollectionFieldTest.java │ │ │ │ │ │ │ ├── ConcurrentHashMapDeserializerTest.java │ │ │ │ │ │ │ ├── ConstructorErrorTest.java │ │ │ │ │ │ │ ├── ConstructorErrorTest_initError.java │ │ │ │ │ │ │ ├── ConstructorErrorTest_initError_private.java │ │ │ │ │ │ │ ├── ConstructorErrorTest_inner.java │ │ │ │ │ │ │ ├── ConstructorErrorTest_private.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest10.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest11.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest12.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest2.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest3.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest4.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest5.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest6.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest7.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest8.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest9.java │ │ │ │ │ │ │ ├── DefaultObjectDeserializerTest_collection.java │ │ │ │ │ │ │ ├── DoubleArrayFieldDeserializerTest.java │ │ │ │ │ │ │ ├── DoubleDeserializerTest.java │ │ │ │ │ │ │ ├── DoubleFieldDeserializerTest.java │ │ │ │ │ │ │ ├── DupTest.java │ │ │ │ │ │ │ ├── EnumMapTest.java │ │ │ │ │ │ │ ├── EnumTest.java │ │ │ │ │ │ │ ├── FactoryTest.java │ │ │ │ │ │ │ ├── FactoryTest_error.java │ │ │ │ │ │ │ ├── FieldDeserializerTest.java │ │ │ │ │ │ │ ├── FieldDeserializerTest1.java │ │ │ │ │ │ │ ├── FieldDeserializerTest10.java │ │ │ │ │ │ │ ├── FieldDeserializerTest2.java │ │ │ │ │ │ │ ├── FieldDeserializerTest3.java │ │ │ │ │ │ │ ├── FieldDeserializerTest4.java │ │ │ │ │ │ │ ├── FieldDeserializerTest5.java │ │ │ │ │ │ │ ├── FieldDeserializerTest6.java │ │ │ │ │ │ │ ├── FieldDeserializerTest7.java │ │ │ │ │ │ │ ├── FieldDeserializerTest8.java │ │ │ │ │ │ │ ├── FieldDeserializerTest9.java │ │ │ │ │ │ │ ├── FieldSerializerTest.java │ │ │ │ │ │ │ ├── FieldSerializerTest2.java │ │ │ │ │ │ │ ├── FieldSerializerTest3.java │ │ │ │ │ │ │ ├── FieldSerializerTest4.java │ │ │ │ │ │ │ ├── FloatDeserializerTest.java │ │ │ │ │ │ │ ├── GetOnlyCollectionTest.java │ │ │ │ │ │ │ ├── HashtableFieldTest.java │ │ │ │ │ │ │ ├── InetAddressDeserializerTest.java │ │ │ │ │ │ │ ├── InnerClassDeser.java │ │ │ │ │ │ │ ├── InnerClassDeser2.java │ │ │ │ │ │ │ ├── InnerClassDeser3.java │ │ │ │ │ │ │ ├── InnerClassDeser4.java │ │ │ │ │ │ │ ├── IntegerDeserializerTest.java │ │ │ │ │ │ │ ├── IntegerFieldDeserializerTest.java │ │ │ │ │ │ │ ├── IntegerFieldDeserializerTest2.java │ │ │ │ │ │ │ ├── IntegerFieldDeserializerTest3.java │ │ │ │ │ │ │ ├── IntegerParseTest.java │ │ │ │ │ │ │ ├── InterfaceParseTest.java │ │ │ │ │ │ │ ├── JSONFieldSetterTest.java │ │ │ │ │ │ │ ├── LocaleFieldTest.java │ │ │ │ │ │ │ ├── LocaleTest.java │ │ │ │ │ │ │ ├── LongDeserializerTest.java │ │ │ │ │ │ │ ├── LongFieldDeserializerTest.java │ │ │ │ │ │ │ ├── LongFieldDeserializerTest2.java │ │ │ │ │ │ │ ├── LongFieldDeserializerTest3.java │ │ │ │ │ │ │ ├── MapDeserializerTest.java │ │ │ │ │ │ │ ├── MapTest.java │ │ │ │ │ │ │ ├── MultiArrayTest.java │ │ │ │ │ │ │ ├── MyMapFieldTest.java │ │ │ │ │ │ │ ├── NumberDeserializerTest.java │ │ │ │ │ │ │ ├── NumberDeserializerTest2.java │ │ │ │ │ │ │ ├── ParseNullTest.java │ │ │ │ │ │ │ ├── PatternDeserializerTest.java │ │ │ │ │ │ │ ├── PropertyProcessableTest_0.java │ │ │ │ │ │ │ ├── ResolveFieldDeserializerTest.java │ │ │ │ │ │ │ ├── ShortFieldDeserializerTest.java │ │ │ │ │ │ │ ├── SmartMatchTest.java │ │ │ │ │ │ │ ├── SmartMatchTest2.java │ │ │ │ │ │ │ ├── SmartMatchTest_boolean_is.java │ │ │ │ │ │ │ ├── SmartMatchTest_snake.java │ │ │ │ │ │ │ ├── SmartMatchTest_snake2.java │ │ │ │ │ │ │ ├── SortedSetFieldTest.java │ │ │ │ │ │ │ ├── SqlDateDeserializerTest.java │ │ │ │ │ │ │ ├── SqlDateDeserializerTest2.java │ │ │ │ │ │ │ ├── StackTraceElementDeserializerTest.java │ │ │ │ │ │ │ ├── TestEnum.java │ │ │ │ │ │ │ ├── TestNull.java │ │ │ │ │ │ │ ├── ThrowableDeserializerTest.java │ │ │ │ │ │ │ ├── ThrowableDeserializerTest_2.java │ │ │ │ │ │ │ ├── TimeDeserializerTest.java │ │ │ │ │ │ │ ├── TimeDeserializerTest2.java │ │ │ │ │ │ │ ├── TimeDeserializerTest3.java │ │ │ │ │ │ │ ├── TimeZoneDeserializerTest.java │ │ │ │ │ │ │ ├── TreeMapDeserializerTest.java │ │ │ │ │ │ │ ├── TreeSetFieldTest.java │ │ │ │ │ │ │ ├── URIDeserializerTest.java │ │ │ │ │ │ │ ├── URLDeserializerTest.java │ │ │ │ │ │ │ ├── UUIDDeserializerTest.java │ │ │ │ │ │ │ ├── array/ │ │ │ │ │ │ │ │ ├── FieldBoolArrayTest.java │ │ │ │ │ │ │ │ ├── FieldByteArrayTest.java │ │ │ │ │ │ │ │ ├── FieldDoubleArrayTest.java │ │ │ │ │ │ │ │ ├── FieldFloatArray2Test.java │ │ │ │ │ │ │ │ ├── FieldFloatArray2Test_private.java │ │ │ │ │ │ │ │ ├── FieldFloatArrayTest.java │ │ │ │ │ │ │ │ ├── FieldFloatArrayTest2.java │ │ │ │ │ │ │ │ ├── FieldFloatArrayTest_private.java │ │ │ │ │ │ │ │ ├── FieldIntArrayTest.java │ │ │ │ │ │ │ │ ├── FieldIntArrayTest2.java │ │ │ │ │ │ │ │ ├── FieldIntArrayTest_private.java │ │ │ │ │ │ │ │ ├── FieldLongArrayTest.java │ │ │ │ │ │ │ │ └── FieldShortArrayTest.java │ │ │ │ │ │ │ ├── arraymapping/ │ │ │ │ │ │ │ │ ├── ArrayMappingErrorTest.java │ │ │ │ │ │ │ │ ├── ArrayMappingErrorTest2.java │ │ │ │ │ │ │ │ ├── ArrayMappingErrorTest3.java │ │ │ │ │ │ │ │ ├── ArrayMapping_bool.java │ │ │ │ │ │ │ │ ├── ArrayMapping_double.java │ │ │ │ │ │ │ │ ├── ArrayMapping_float.java │ │ │ │ │ │ │ │ ├── ArrayMapping_long.java │ │ │ │ │ │ │ │ └── ArrayMapping_long_stream.java │ │ │ │ │ │ │ ├── asm/ │ │ │ │ │ │ │ │ ├── TestASM.java │ │ │ │ │ │ │ │ ├── TestASM2.java │ │ │ │ │ │ │ │ ├── TestASMEishay.java │ │ │ │ │ │ │ │ ├── TestASM_BigDecimal.java │ │ │ │ │ │ │ │ ├── TestASM_Byte_0.java │ │ │ │ │ │ │ │ ├── TestASM_Date.java │ │ │ │ │ │ │ │ ├── TestASM_Integer.java │ │ │ │ │ │ │ │ ├── TestASM_List.java │ │ │ │ │ │ │ │ ├── TestASM_Long_0.java │ │ │ │ │ │ │ │ ├── TestASM_Short_0.java │ │ │ │ │ │ │ │ ├── TestASM_boolean.java │ │ │ │ │ │ │ │ ├── TestASM_byte.java │ │ │ │ │ │ │ │ ├── TestASM_char.java │ │ │ │ │ │ │ │ ├── TestASM_double.java │ │ │ │ │ │ │ │ ├── TestASM_float.java │ │ │ │ │ │ │ │ ├── TestASM_int.java │ │ │ │ │ │ │ │ ├── TestASM_long.java │ │ │ │ │ │ │ │ ├── TestASM_null.java │ │ │ │ │ │ │ │ ├── TestASM_object.java │ │ │ │ │ │ │ │ ├── TestASM_primitive.java │ │ │ │ │ │ │ │ └── TestASM_short.java │ │ │ │ │ │ │ ├── awt/ │ │ │ │ │ │ │ │ ├── ColorDeserializerTest.java │ │ │ │ │ │ │ │ ├── FontDeserializerTest.java │ │ │ │ │ │ │ │ ├── PointDeserializerTest.java │ │ │ │ │ │ │ │ ├── PointDeserializerTest2.java │ │ │ │ │ │ │ │ └── RectangleDeserializerTest.java │ │ │ │ │ │ │ ├── date/ │ │ │ │ │ │ │ │ ├── DateDeserializerTest.java │ │ │ │ │ │ │ │ ├── DateFormatDeserializerTest.java │ │ │ │ │ │ │ │ ├── DateParseTest1.java │ │ │ │ │ │ │ │ ├── DateParseTest10.java │ │ │ │ │ │ │ │ ├── DateParseTest11.java │ │ │ │ │ │ │ │ ├── DateParseTest12.java │ │ │ │ │ │ │ │ ├── DateParseTest13.java │ │ │ │ │ │ │ │ ├── DateParseTest14.java │ │ │ │ │ │ │ │ ├── DateParseTest2.java │ │ │ │ │ │ │ │ ├── DateParseTest3.java │ │ │ │ │ │ │ │ ├── DateParseTest4.java │ │ │ │ │ │ │ │ ├── DateParseTest5.java │ │ │ │ │ │ │ │ ├── DateParseTest6.java │ │ │ │ │ │ │ │ ├── DateParseTest7.java │ │ │ │ │ │ │ │ ├── DateParseTest8.java │ │ │ │ │ │ │ │ ├── DateParseTest9.java │ │ │ │ │ │ │ │ └── DateTest.java │ │ │ │ │ │ │ ├── deny/ │ │ │ │ │ │ │ │ ├── DenyTest.java │ │ │ │ │ │ │ │ ├── DenyTest10.java │ │ │ │ │ │ │ │ ├── DenyTest11.java │ │ │ │ │ │ │ │ ├── DenyTest12.java │ │ │ │ │ │ │ │ ├── DenyTest13.java │ │ │ │ │ │ │ │ ├── DenyTest14.java │ │ │ │ │ │ │ │ ├── DenyTest15.java │ │ │ │ │ │ │ │ ├── DenyTest16.java │ │ │ │ │ │ │ │ ├── DenyTest2.java │ │ │ │ │ │ │ │ ├── DenyTest3.java │ │ │ │ │ │ │ │ ├── DenyTest4.java │ │ │ │ │ │ │ │ ├── DenyTest5.java │ │ │ │ │ │ │ │ ├── DenyTest6.java │ │ │ │ │ │ │ │ ├── DenyTest7.java │ │ │ │ │ │ │ │ ├── DenyTest8.java │ │ │ │ │ │ │ │ ├── DenyTest9.java │ │ │ │ │ │ │ │ └── InitJavaBeanDeserializerTest.java │ │ │ │ │ │ │ ├── extra/ │ │ │ │ │ │ │ │ └── ExtraTest.java │ │ │ │ │ │ │ ├── generic/ │ │ │ │ │ │ │ │ ├── ByteListTest.java │ │ │ │ │ │ │ │ ├── GenericArrayTest.java │ │ │ │ │ │ │ │ ├── GenericArrayTest2.java │ │ │ │ │ │ │ │ ├── GenericArrayTest3.java │ │ │ │ │ │ │ │ ├── GenericArrayTest4.java │ │ │ │ │ │ │ │ ├── GenericArrayTest5.java │ │ │ │ │ │ │ │ ├── GenericMap.java │ │ │ │ │ │ │ │ ├── GenericTest.java │ │ │ │ │ │ │ │ ├── GenericTest2.java │ │ │ │ │ │ │ │ ├── GenericTest3.java │ │ │ │ │ │ │ │ ├── GenericTest4.java │ │ │ │ │ │ │ │ ├── GenericTest5.java │ │ │ │ │ │ │ │ └── ListStrFieldTest.java │ │ │ │ │ │ │ ├── list/ │ │ │ │ │ │ │ │ ├── ArrayDeserializerTest.java │ │ │ │ │ │ │ │ ├── ArrayLisMapDeserializerTest.java │ │ │ │ │ │ │ │ ├── ArrayListEnumFieldDeserializerTest.java │ │ │ │ │ │ │ │ ├── ArrayListStringDeserializerTest.java │ │ │ │ │ │ │ │ ├── ArrayListTypeDeserializerTest.java │ │ │ │ │ │ │ │ ├── ArrayListTypeFieldTest.java │ │ │ │ │ │ │ │ ├── ListFieldTest.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest_array_big.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest_createError.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest_dom.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest_dom_array.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest_dom_array_2.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest_dom_hashSet.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest_dom_treeSet.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest_stream.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest_stream_TreeSet.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest_stream_array.java │ │ │ │ │ │ │ │ ├── ListStringFieldTest_stream_array_2.java │ │ │ │ │ │ │ │ └── ListStringFieldTest_stream_hashSet.java │ │ │ │ │ │ │ ├── nonctor/ │ │ │ │ │ │ │ │ └── NonDefaultConstructorTest0.java │ │ │ │ │ │ │ ├── stream/ │ │ │ │ │ │ │ │ ├── ReaderBooleanFieldTest.java │ │ │ │ │ │ │ │ ├── ReaderIntFieldTest.java │ │ │ │ │ │ │ │ └── ReaderLongFieldTest.java │ │ │ │ │ │ │ └── var/ │ │ │ │ │ │ │ └── TwoTypeTest.java │ │ │ │ │ │ ├── error/ │ │ │ │ │ │ │ ├── JSONReaderError.java │ │ │ │ │ │ │ ├── ParseErrorTest_10.java │ │ │ │ │ │ │ ├── ParseErrorTest_11.java │ │ │ │ │ │ │ ├── ParseErrorTest_12.java │ │ │ │ │ │ │ ├── ParseErrorTest_13.java │ │ │ │ │ │ │ ├── ParseErrorTest_14.java │ │ │ │ │ │ │ ├── ParseErrorTest_15.java │ │ │ │ │ │ │ ├── ParseErrorTest_16.java │ │ │ │ │ │ │ ├── ParseErrorTest_17.java │ │ │ │ │ │ │ ├── ParseErrorTest_18.java │ │ │ │ │ │ │ ├── ParseErrorTest_19.java │ │ │ │ │ │ │ ├── ParseErrorTest_20.java │ │ │ │ │ │ │ ├── ParseErrorTest_21.java │ │ │ │ │ │ │ ├── ParseErrorTest_8.java │ │ │ │ │ │ │ ├── ParseErrorTest_9.java │ │ │ │ │ │ │ ├── ParseErrorTest_date.java │ │ │ │ │ │ │ └── TypeNotMatchError.java │ │ │ │ │ │ ├── fieldTypeResolver/ │ │ │ │ │ │ │ └── FieldTypeResolverTest.java │ │ │ │ │ │ ├── number/ │ │ │ │ │ │ │ ├── NumberEmtpyObjectTest.java │ │ │ │ │ │ │ ├── NumberValueTest.java │ │ │ │ │ │ │ ├── NumberValueTest2.java │ │ │ │ │ │ │ ├── NumberValueTest3.java │ │ │ │ │ │ │ ├── NumberValueTest4.java │ │ │ │ │ │ │ ├── NumberValueTest_error_0.java │ │ │ │ │ │ │ ├── NumberValueTest_error_1.java │ │ │ │ │ │ │ ├── NumberValueTest_error_10.java │ │ │ │ │ │ │ ├── NumberValueTest_error_11.java │ │ │ │ │ │ │ ├── NumberValueTest_error_12.java │ │ │ │ │ │ │ ├── NumberValueTest_error_13.java │ │ │ │ │ │ │ ├── NumberValueTest_error_2.java │ │ │ │ │ │ │ ├── NumberValueTest_error_3.java │ │ │ │ │ │ │ ├── NumberValueTest_error_4.java │ │ │ │ │ │ │ ├── NumberValueTest_error_5.java │ │ │ │ │ │ │ ├── NumberValueTest_error_6.java │ │ │ │ │ │ │ ├── NumberValueTest_error_7.java │ │ │ │ │ │ │ ├── NumberValueTest_error_8.java │ │ │ │ │ │ │ └── NumberValueTest_error_9.java │ │ │ │ │ │ ├── str/ │ │ │ │ │ │ │ ├── EmptyStringTest.java │ │ │ │ │ │ │ ├── StringTest_00.java │ │ │ │ │ │ │ ├── StringTest_01.java │ │ │ │ │ │ │ └── StringTest_02.java │ │ │ │ │ │ ├── stream/ │ │ │ │ │ │ │ ├── JSONReaderScannerTest.java │ │ │ │ │ │ │ ├── JSONReaderScannerTest_boolean.java │ │ │ │ │ │ │ ├── JSONReaderScannerTest_chars.java │ │ │ │ │ │ │ ├── JSONReaderScannerTest_enum.java │ │ │ │ │ │ │ ├── JSONReaderScannerTest_matchField.java │ │ │ │ │ │ │ ├── JSONReaderScannerTest_negative.java │ │ │ │ │ │ │ ├── JSONReaderScannerTest_type.java │ │ │ │ │ │ │ ├── JSONReaderTest.java │ │ │ │ │ │ │ ├── JSONReaderTest_0.java │ │ │ │ │ │ │ ├── JSONReaderTest_1.java │ │ │ │ │ │ │ ├── JSONReaderTest_2.java │ │ │ │ │ │ │ ├── JSONReaderTest_3.java │ │ │ │ │ │ │ ├── JSONReaderTest_4.java │ │ │ │ │ │ │ ├── JSONReaderTest_5.java │ │ │ │ │ │ │ ├── JSONReaderTest_error.java │ │ │ │ │ │ │ ├── JSONReaderTest_error2.java │ │ │ │ │ │ │ ├── JSONReader_array.java │ │ │ │ │ │ │ ├── JSONReader_map.java │ │ │ │ │ │ │ ├── JSONReader_obj.java │ │ │ │ │ │ │ ├── JSONReader_obj_2.java │ │ │ │ │ │ │ ├── JSONReader_obj_3.java │ │ │ │ │ │ │ ├── JSONReader_string.java │ │ │ │ │ │ │ ├── JSONReader_string_1.java │ │ │ │ │ │ │ └── JSONReader_typeRef.java │ │ │ │ │ │ └── taobao/ │ │ │ │ │ │ ├── BooleanObjectFieldTest.java │ │ │ │ │ │ ├── DoubleObjectFieldTest.java │ │ │ │ │ │ ├── FloatObjectFieldTest.java │ │ │ │ │ │ ├── IntAsStringTest.java │ │ │ │ │ │ ├── IntegerAsStringTest.java │ │ │ │ │ │ ├── LongAsStringTest.java │ │ │ │ │ │ ├── LongObjectAsStringTest.java │ │ │ │ │ │ └── SpecialStringTest.java │ │ │ │ │ ├── path/ │ │ │ │ │ │ ├── BookEvalTest.java │ │ │ │ │ │ ├── BookExtractTest.java │ │ │ │ │ │ ├── DLATest_0.java │ │ │ │ │ │ ├── DeepScanTest.java │ │ │ │ │ │ ├── JSONPath_0.java │ │ │ │ │ │ ├── JSONPath_1.java │ │ │ │ │ │ ├── JSONPath_10_contains.java │ │ │ │ │ │ ├── JSONPath_11.java │ │ │ │ │ │ ├── JSONPath_12.java │ │ │ │ │ │ ├── JSONPath_13.java │ │ │ │ │ │ ├── JSONPath_14.java │ │ │ │ │ │ ├── JSONPath_15.java │ │ │ │ │ │ ├── JSONPath_16.java │ │ │ │ │ │ ├── JSONPath_17.java │ │ │ │ │ │ ├── JSONPath_2.java │ │ │ │ │ │ ├── JSONPath_3.java │ │ │ │ │ │ ├── JSONPath_4.java │ │ │ │ │ │ ├── JSONPath_5.java │ │ │ │ │ │ ├── JSONPath_6.java │ │ │ │ │ │ ├── JSONPath_7.java │ │ │ │ │ │ ├── JSONPath_8.java │ │ │ │ │ │ ├── JSONPath_9.java │ │ │ │ │ │ ├── JSONPath_array_length.java │ │ │ │ │ │ ├── JSONPath_array_multi.java │ │ │ │ │ │ ├── JSONPath_array_put.java │ │ │ │ │ │ ├── JSONPath_array_put_2.java │ │ │ │ │ │ ├── JSONPath_array_remove_0.java │ │ │ │ │ │ ├── JSONPath_between_double.java │ │ │ │ │ │ ├── JSONPath_between_int.java │ │ │ │ │ │ ├── JSONPath_calenar_test.java │ │ │ │ │ │ ├── JSONPath_conatinas_null.java │ │ │ │ │ │ ├── JSONPath_containsValue.java │ │ │ │ │ │ ├── JSONPath_containsValue_2.java │ │ │ │ │ │ ├── JSONPath_containsValue_bigdecimal.java │ │ │ │ │ │ ├── JSONPath_containsValue_biginteger.java │ │ │ │ │ │ ├── JSONPath_containsValue_double.java │ │ │ │ │ │ ├── JSONPath_deepScan_test.java │ │ │ │ │ │ ├── JSONPath_deepScan_test2.java │ │ │ │ │ │ ├── JSONPath_enum.java │ │ │ │ │ │ ├── JSONPath_field_access.java │ │ │ │ │ │ ├── JSONPath_field_access_filter_compare_int.java │ │ │ │ │ │ ├── JSONPath_field_access_filter_compare_int_simple.java │ │ │ │ │ │ ├── JSONPath_field_access_filter_compare_string.java │ │ │ │ │ │ ├── JSONPath_field_access_filter_compare_string_simple.java │ │ │ │ │ │ ├── JSONPath_field_access_filter_in_decimal.java │ │ │ │ │ │ ├── JSONPath_field_access_filter_in_int.java │ │ │ │ │ │ ├── JSONPath_field_access_filter_in_string.java │ │ │ │ │ │ ├── JSONPath_field_access_filter_like.java │ │ │ │ │ │ ├── JSONPath_field_access_filter_like_simple.java │ │ │ │ │ │ ├── JSONPath_field_access_filter_notNull.java │ │ │ │ │ │ ├── JSONPath_field_access_filter_rlike.java │ │ │ │ │ │ ├── JSONPath_field_access_multi.java │ │ │ │ │ │ ├── JSONPath_field_wildcard.java │ │ │ │ │ │ ├── JSONPath_field_wildcard_filter.java │ │ │ │ │ │ ├── JSONPath_field_wildcard_filter_double.java │ │ │ │ │ │ ├── JSONPath_field_wildcard_filter_float.java │ │ │ │ │ │ ├── JSONPath_issue1208.java │ │ │ │ │ │ ├── JSONPath_keySet.java │ │ │ │ │ │ ├── JSONPath_like.java │ │ │ │ │ │ ├── JSONPath_list.java │ │ │ │ │ │ ├── JSONPath_list_field.java │ │ │ │ │ │ ├── JSONPath_list_multi.java │ │ │ │ │ │ ├── JSONPath_list_range.java │ │ │ │ │ │ ├── JSONPath_list_size.java │ │ │ │ │ │ ├── JSONPath_list_size_1.java │ │ │ │ │ │ ├── JSONPath_list_size_2.java │ │ │ │ │ │ ├── JSONPath_list_size_3.java │ │ │ │ │ │ ├── JSONPath_map_size.java │ │ │ │ │ │ ├── JSONPath_max.java │ │ │ │ │ │ ├── JSONPath_min.java │ │ │ │ │ │ ├── JSONPath_none_root.java │ │ │ │ │ │ ├── JSONPath_object_filter.java │ │ │ │ │ │ ├── JSONPath_oracle_compatible_test.java │ │ │ │ │ │ ├── JSONPath_paths_test.java │ │ │ │ │ │ ├── JSONPath_paths_test1.java │ │ │ │ │ │ ├── JSONPath_paths_test2.java │ │ │ │ │ │ ├── JSONPath_paths_test3.java │ │ │ │ │ │ ├── JSONPath_paths_test4.java │ │ │ │ │ │ ├── JSONPath_paths_test5.java │ │ │ │ │ │ ├── JSONPath_remove_test.java │ │ │ │ │ │ ├── JSONPath_reverse_test.java │ │ │ │ │ │ ├── JSONPath_set.java │ │ │ │ │ │ ├── JSONPath_set_test2.java │ │ │ │ │ │ ├── JSONPath_set_test3.java │ │ │ │ │ │ ├── JSONPath_set_test4.java │ │ │ │ │ │ ├── JSONPath_set_test5.java │ │ │ │ │ │ ├── JSONPath_set_test6.java │ │ │ │ │ │ ├── JSONPath_set_test7.java │ │ │ │ │ │ ├── JSONPath_size.java │ │ │ │ │ │ ├── JSONPath_toString.java │ │ │ │ │ │ ├── JSONPointTest_0.java │ │ │ │ │ │ ├── JSONPointTest_1.java │ │ │ │ │ │ ├── TestSpecial_0.java │ │ │ │ │ │ ├── TestSpecial_1.java │ │ │ │ │ │ ├── TestSpecial_2.java │ │ │ │ │ │ ├── TestSpecial_3.java │ │ │ │ │ │ ├── TestSpecial_4.java │ │ │ │ │ │ └── extract/ │ │ │ │ │ │ ├── JSONPath_extract_0.java │ │ │ │ │ │ ├── JSONPath_extract_1.java │ │ │ │ │ │ ├── JSONPath_extract_2_book.java │ │ │ │ │ │ ├── JSONPath_extract_3.java │ │ │ │ │ │ └── JSONPath_extract_4_multi.java │ │ │ │ │ ├── proxy/ │ │ │ │ │ │ └── TestProxy.java │ │ │ │ │ ├── ref/ │ │ │ │ │ │ ├── RefTest.java │ │ │ │ │ │ ├── RefTest10.java │ │ │ │ │ │ ├── RefTest11.java │ │ │ │ │ │ ├── RefTest12.java │ │ │ │ │ │ ├── RefTest13.java │ │ │ │ │ │ ├── RefTest14.java │ │ │ │ │ │ ├── RefTest15.java │ │ │ │ │ │ ├── RefTest16.java │ │ │ │ │ │ ├── RefTest17.java │ │ │ │ │ │ ├── RefTest18.java │ │ │ │ │ │ ├── RefTest19.java │ │ │ │ │ │ ├── RefTest2.java │ │ │ │ │ │ ├── RefTest20.java │ │ │ │ │ │ ├── RefTest21.java │ │ │ │ │ │ ├── RefTest22.java │ │ │ │ │ │ ├── RefTest23.java │ │ │ │ │ │ ├── RefTest24.java │ │ │ │ │ │ ├── RefTest3.java │ │ │ │ │ │ ├── RefTest4.java │ │ │ │ │ │ ├── RefTest5.java │ │ │ │ │ │ ├── RefTest6.java │ │ │ │ │ │ ├── RefTest7.java │ │ │ │ │ │ ├── RefTest8.java │ │ │ │ │ │ ├── RefTest9.java │ │ │ │ │ │ └── RefTest_for_huanxige.java │ │ │ │ │ ├── serializer/ │ │ │ │ │ │ ├── AbstractTest.java │ │ │ │ │ │ ├── BooleanArraySerializerTest.java │ │ │ │ │ │ ├── BooleanFieldSerializerTest.java │ │ │ │ │ │ ├── BooleanFieldSerializerTest_primitive.java │ │ │ │ │ │ ├── BooleanFieldTest.java │ │ │ │ │ │ ├── BooleanFieldTest2.java │ │ │ │ │ │ ├── BooleanFieldTest3.java │ │ │ │ │ │ ├── BooleanFieldTest_array.java │ │ │ │ │ │ ├── BugTest0.java │ │ │ │ │ │ ├── BugTest1.java │ │ │ │ │ │ ├── BugTest2.java │ │ │ │ │ │ ├── Bug_for_yegaofei.java │ │ │ │ │ │ ├── ByteArrayFieldSerializerTest.java │ │ │ │ │ │ ├── ByteArraySerializerTest.java │ │ │ │ │ │ ├── ByteArrayTest.java │ │ │ │ │ │ ├── CharArraySerializerTest.java │ │ │ │ │ │ ├── CharTest.java │ │ │ │ │ │ ├── CharsetSerializerTest.java │ │ │ │ │ │ ├── CharsetTest.java │ │ │ │ │ │ ├── CircularReferencesTest.java │ │ │ │ │ │ ├── ClassFieldTest.java │ │ │ │ │ │ ├── ClassLoaderTest.java │ │ │ │ │ │ ├── ClobSerializerTest.java │ │ │ │ │ │ ├── CollectionSerializerTest.java │ │ │ │ │ │ ├── ColorSerializerTest.java │ │ │ │ │ │ ├── ConcurrentHashMapTest.java │ │ │ │ │ │ ├── ConcurrentHashMapTest2.java │ │ │ │ │ │ ├── ConcurrentHashMapTest3.java │ │ │ │ │ │ ├── ConcurrentHashMapTest4.java │ │ │ │ │ │ ├── ConcurrentHashMapTest5.java │ │ │ │ │ │ ├── ConcurrentHashMapTest6.java │ │ │ │ │ │ ├── ConcurrentHashMapTest7.java │ │ │ │ │ │ ├── DateFormatSerializerTest.java │ │ │ │ │ │ ├── DoubleArraySerializerTest.java │ │ │ │ │ │ ├── DoubleFormatTest.java │ │ │ │ │ │ ├── DoubleFormatTest2.java │ │ │ │ │ │ ├── DoubleTest.java │ │ │ │ │ │ ├── DoubleTest_custom.java │ │ │ │ │ │ ├── DoubleTest_custom2.java │ │ │ │ │ │ ├── DupSetterTest.java │ │ │ │ │ │ ├── DupSetterTest2.java │ │ │ │ │ │ ├── DupSetterTest3.java │ │ │ │ │ │ ├── DupSetterTest4.java │ │ │ │ │ │ ├── DupSetterTest5.java │ │ │ │ │ │ ├── DupSetterTest6.java │ │ │ │ │ │ ├── EnumerationSeriliazerTest.java │ │ │ │ │ │ ├── ErrorGetterTest.java │ │ │ │ │ │ ├── ErrorTest.java │ │ │ │ │ │ ├── ExtendsTest.java │ │ │ │ │ │ ├── FieldOrderTest.java │ │ │ │ │ │ ├── FileTest.java │ │ │ │ │ │ ├── FloatArraySerializerTest.java │ │ │ │ │ │ ├── FloatFormatTest.java │ │ │ │ │ │ ├── FloatFormatTest2.java │ │ │ │ │ │ ├── FloatTest.java │ │ │ │ │ │ ├── FontSerializerTest.java │ │ │ │ │ │ ├── GenericTypeNotMatchTest.java │ │ │ │ │ │ ├── GenericTypeNotMatchTest2.java │ │ │ │ │ │ ├── GenericTypeTest.java │ │ │ │ │ │ ├── GenericTypeTest2.java │ │ │ │ │ │ ├── IgnoreGetMethodTest.java │ │ │ │ │ │ ├── IgnoreNonFieldGetterTest.java │ │ │ │ │ │ ├── IgnoreNonFieldGetterTest2.java │ │ │ │ │ │ ├── IgoreGetterTest.java │ │ │ │ │ │ ├── InetAddressTest.java │ │ │ │ │ │ ├── InetSocketAddressTest.java │ │ │ │ │ │ ├── IntArrayEncodeTest.java │ │ │ │ │ │ ├── IntFieldTest.java │ │ │ │ │ │ ├── IntFieldTest2.java │ │ │ │ │ │ ├── IntegerArrayEncodeTest.java │ │ │ │ │ │ ├── IntegerArrayFieldSerializerTest.java │ │ │ │ │ │ ├── IntegerSerializerTest.java │ │ │ │ │ │ ├── InterfaceTest.java │ │ │ │ │ │ ├── JSONFieldTest.java │ │ │ │ │ │ ├── JSONFieldTest2.java │ │ │ │ │ │ ├── JSONFieldTest3.java │ │ │ │ │ │ ├── JSONFieldTest4.java │ │ │ │ │ │ ├── JSONFieldTest5.java │ │ │ │ │ │ ├── JSONFieldTest6.java │ │ │ │ │ │ ├── JSONFieldTest_unwrapped_0.java │ │ │ │ │ │ ├── JSONFieldTest_unwrapped_1.java │ │ │ │ │ │ ├── JSONFieldTest_unwrapped_2.java │ │ │ │ │ │ ├── JSONFieldTest_unwrapped_3.java │ │ │ │ │ │ ├── JSONFieldTest_unwrapped_4.java │ │ │ │ │ │ ├── JSONFieldTest_unwrapped_5.java │ │ │ │ │ │ ├── JSONFieldTest_unwrapped_6.java │ │ │ │ │ │ ├── JSONFieldTest_unwrapped_7.java │ │ │ │ │ │ ├── JSONObjectOrderTest.java │ │ │ │ │ │ ├── JSONSerializerDeprecatedTest.java │ │ │ │ │ │ ├── JSONSerializerFeatureTest.java │ │ │ │ │ │ ├── JSONSerializerMapTest.java │ │ │ │ │ │ ├── JSONSerializerTest.java │ │ │ │ │ │ ├── JSONSerializerTest1.java │ │ │ │ │ │ ├── JSONSerializerTest2.java │ │ │ │ │ │ ├── JSONSerializerTest3.java │ │ │ │ │ │ ├── JSONTypeIncludesTest.java │ │ │ │ │ │ ├── JavaBeanSerializerTest.java │ │ │ │ │ │ ├── JavaBeanSerializerTest2.java │ │ │ │ │ │ ├── ListFieldTest.java │ │ │ │ │ │ ├── ListSerializerTest.java │ │ │ │ │ │ ├── ListSerializerTest2.java │ │ │ │ │ │ ├── ListSerializerTest3.java │ │ │ │ │ │ ├── ListTest.java │ │ │ │ │ │ ├── LocalTest.java │ │ │ │ │ │ ├── LongArraySerializerTest.java │ │ │ │ │ │ ├── MapSerializerTest.java │ │ │ │ │ │ ├── MapTest.java │ │ │ │ │ │ ├── MaxBufSizeTest.java │ │ │ │ │ │ ├── MaxBufSizeTest2.java │ │ │ │ │ │ ├── MultiFieldIntTest_writer.java │ │ │ │ │ │ ├── MultiFieldIntTest_writer2.java │ │ │ │ │ │ ├── NoneStringKeyTest.java │ │ │ │ │ │ ├── NotWriteDefaultValueTest.java │ │ │ │ │ │ ├── NotWriteDefaultValueTest_NoneASM.java │ │ │ │ │ │ ├── ObjectArraySerializerTest.java │ │ │ │ │ │ ├── ObjectSerializerTest.java │ │ │ │ │ │ ├── ObjectWriteTest.java │ │ │ │ │ │ ├── ParserConfigTest.java │ │ │ │ │ │ ├── PascalNameFilterTest.java │ │ │ │ │ │ ├── PascalNameFilterTest_1.java │ │ │ │ │ │ ├── PatternTest.java │ │ │ │ │ │ ├── PointSerializerTest.java │ │ │ │ │ │ ├── PrePropertyFilterTest.java │ │ │ │ │ │ ├── PrettyFormatTest.java │ │ │ │ │ │ ├── PrettyFormatTest2.java │ │ │ │ │ │ ├── PrimitiveTest.java │ │ │ │ │ │ ├── ProxyTest.java │ │ │ │ │ │ ├── ProxyTest2.java │ │ │ │ │ │ ├── RectangleSerializerTest.java │ │ │ │ │ │ ├── ReferenceDeserializerTest.java │ │ │ │ │ │ ├── SerialContextTest.java │ │ │ │ │ │ ├── SerialWriterStringEncoderTest2.java │ │ │ │ │ │ ├── SerialWriterTest.java │ │ │ │ │ │ ├── SerializeConfigTest.java │ │ │ │ │ │ ├── SerializeConfigTest2.java │ │ │ │ │ │ ├── SerializeConfigTest2_private.java │ │ │ │ │ │ ├── SerializeWriterTest.java │ │ │ │ │ │ ├── SerializeWriterTest_1.java │ │ │ │ │ │ ├── SerializeWriterTest_10.java │ │ │ │ │ │ ├── SerializeWriterTest_11.java │ │ │ │ │ │ ├── SerializeWriterTest_12.java │ │ │ │ │ │ ├── SerializeWriterTest_13.java │ │ │ │ │ │ ├── SerializeWriterTest_14.java │ │ │ │ │ │ ├── SerializeWriterTest_15.java │ │ │ │ │ │ ├── SerializeWriterTest_16.java │ │ │ │ │ │ ├── SerializeWriterTest_17.java │ │ │ │ │ │ ├── SerializeWriterTest_18.java │ │ │ │ │ │ ├── SerializeWriterTest_19.java │ │ │ │ │ │ ├── SerializeWriterTest_2.java │ │ │ │ │ │ ├── SerializeWriterTest_3.java │ │ │ │ │ │ ├── SerializeWriterTest_4.java │ │ │ │ │ │ ├── SerializeWriterTest_5.java │ │ │ │ │ │ ├── SerializeWriterTest_6.java │ │ │ │ │ │ ├── SerializeWriterTest_7.java │ │ │ │ │ │ ├── SerializeWriterTest_8.java │ │ │ │ │ │ ├── SerializeWriterTest_9.java │ │ │ │ │ │ ├── SerializeWriterTest_BrowserSecure.java │ │ │ │ │ │ ├── SerializeWriterTest_BrowserSecure3.java │ │ │ │ │ │ ├── SerializeWriterTest_BrowserSecure_4_script.java │ │ │ │ │ │ ├── SerializeWriterTest_BrowserSecure_5_script_model.java │ │ │ │ │ │ ├── SerializeWriterTest_BrowserSecure_6_name_script.java │ │ │ │ │ │ ├── SerializerFeatureTest.java │ │ │ │ │ │ ├── SerilaizeFilterTest.java │ │ │ │ │ │ ├── ShortArraySerializerTest.java │ │ │ │ │ │ ├── ShortFieldSerializerTest.java │ │ │ │ │ │ ├── ShortSerializerTest.java │ │ │ │ │ │ ├── SimpleDataFormatSerializerTest.java │ │ │ │ │ │ ├── SimplePropertyPreFilterTest.java │ │ │ │ │ │ ├── SpecialTest.java │ │ │ │ │ │ ├── SpecicalStringTest.java │ │ │ │ │ │ ├── StringArraySerializerTest.java │ │ │ │ │ │ ├── StringSerializerTest.java │ │ │ │ │ │ ├── TestInnerClass.java │ │ │ │ │ │ ├── TestInnerClass1.java │ │ │ │ │ │ ├── TestInnerClass2.java │ │ │ │ │ │ ├── TestPivateStaticClass.java │ │ │ │ │ │ ├── TestSortField.java │ │ │ │ │ │ ├── TestSpecial.java │ │ │ │ │ │ ├── TestSpecial2.java │ │ │ │ │ │ ├── TestSpecial3.java │ │ │ │ │ │ ├── TestSpecial4.java │ │ │ │ │ │ ├── TestSpecial5.java │ │ │ │ │ │ ├── TestSpecial6.java │ │ │ │ │ │ ├── TestSpecial_entity.java │ │ │ │ │ │ ├── TestSpecial_map.java │ │ │ │ │ │ ├── TimeZoneTest.java │ │ │ │ │ │ ├── TransientTest.java │ │ │ │ │ │ ├── TreeSetTest.java │ │ │ │ │ │ ├── URITest.java │ │ │ │ │ │ ├── URLTest.java │ │ │ │ │ │ ├── UUIDTest.java │ │ │ │ │ │ ├── UnicodeTest.java │ │ │ │ │ │ ├── WriteClassNameTest.java │ │ │ │ │ │ ├── WriteNullListAsEmptyTest.java │ │ │ │ │ │ ├── WriteSlashAsSpecialTest.java │ │ │ │ │ │ ├── date/ │ │ │ │ │ │ │ ├── DateTest.java │ │ │ │ │ │ │ ├── DateTest2.java │ │ │ │ │ │ │ ├── DateTest3.java │ │ │ │ │ │ │ ├── DateTest4.java │ │ │ │ │ │ │ ├── DateTest4_indian.java │ │ │ │ │ │ │ ├── DateTest5_iso8601.java │ │ │ │ │ │ │ ├── DateTest_ISO8601_OneLetterISO8601TimeZone.java │ │ │ │ │ │ │ ├── DateTest_ISO8601_ThreeLetterISO8601TimeZone.java │ │ │ │ │ │ │ ├── DateTest_ISO8601_TimeZone.java │ │ │ │ │ │ │ ├── DateTest_ISO8601_TwoLetterISO8601TimeZone.java │ │ │ │ │ │ │ └── DateTest_ISO8601_UTCTime.java │ │ │ │ │ │ ├── enum_/ │ │ │ │ │ │ │ ├── EnumCustomCodecTest.java │ │ │ │ │ │ │ ├── EnumFieldsTest.java │ │ │ │ │ │ │ ├── EnumFieldsTest2.java │ │ │ │ │ │ │ ├── EnumFieldsTest3.java │ │ │ │ │ │ │ ├── EnumFieldsTest4.java │ │ │ │ │ │ │ ├── EnumFieldsTest5.java │ │ │ │ │ │ │ ├── EnumFieldsTest6.java │ │ │ │ │ │ │ ├── EnumFieldsTest7.java │ │ │ │ │ │ │ ├── EnumFieldsTest8.java │ │ │ │ │ │ │ ├── EnumOrdinalTest.java │ │ │ │ │ │ │ ├── EnumTest.java │ │ │ │ │ │ │ ├── EnumTest2.java │ │ │ │ │ │ │ ├── EnumTest3.java │ │ │ │ │ │ │ ├── EnumTest4.java │ │ │ │ │ │ │ ├── EnumUsingToString.java │ │ │ │ │ │ │ └── EnumUsingToString_JSONType.java │ │ │ │ │ │ ├── exception/ │ │ │ │ │ │ │ ├── ExceptionTest.java │ │ │ │ │ │ │ └── RuntimeExceptionTest.java │ │ │ │ │ │ ├── features/ │ │ │ │ │ │ │ ├── JSONDirectTest.java │ │ │ │ │ │ │ ├── JSONDirectTest_number.java │ │ │ │ │ │ │ ├── JSONDirectTest_private.java │ │ │ │ │ │ │ ├── MapSortFieldTest.java │ │ │ │ │ │ │ ├── NotWriteDefaultValueFieldTest.java │ │ │ │ │ │ │ ├── NotWriteDefaultValueFieldTest2.java │ │ │ │ │ │ │ ├── WriteBigDecimalAsPlainTest.java │ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestBooleanField.java │ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestByteField.java │ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestByteObjectField.java │ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestDoubleField.java │ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestFloatField.java │ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestFloatField2.java │ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestIntField.java │ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestIntegerField.java │ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestLongField.java │ │ │ │ │ │ │ ├── WriteNonStringValueAsStringTestMap.java │ │ │ │ │ │ │ └── WriteNonStringValueAsStringTestShortField.java │ │ │ │ │ │ ├── fieldbase/ │ │ │ │ │ │ │ ├── FieldBaseTest0.java │ │ │ │ │ │ │ └── FieldBaseTest1.java │ │ │ │ │ │ ├── filters/ │ │ │ │ │ │ │ ├── AfterFilterClassLevelTest.java │ │ │ │ │ │ │ ├── AfterFilterClassLevelTest_private.java │ │ │ │ │ │ │ ├── AfterFilterTest.java │ │ │ │ │ │ │ ├── AfterFilterTest2.java │ │ │ │ │ │ │ ├── AfterFilterTest3.java │ │ │ │ │ │ │ ├── AppendableTest.java │ │ │ │ │ │ │ ├── ArraySerializerTest.java │ │ │ │ │ │ │ ├── BeforeFilterClassLevelTest.java │ │ │ │ │ │ │ ├── BeforeFilterClassLevelTest_private.java │ │ │ │ │ │ │ ├── BeforeFilterTest.java │ │ │ │ │ │ │ ├── BeforeFilterTest2.java │ │ │ │ │ │ │ ├── BeforeFilterTest3.java │ │ │ │ │ │ │ ├── ClassLevelFeatureConfigTest.java │ │ │ │ │ │ │ ├── ClassLevelFeatureConfigTest2.java │ │ │ │ │ │ │ ├── ClassLevelFeatureConfigTest3.java │ │ │ │ │ │ │ ├── ClassLevelFeatureConfigTest_private.java │ │ │ │ │ │ │ ├── ClassNameFilterTest.java │ │ │ │ │ │ │ ├── ClassNameFilterTest_private.java │ │ │ │ │ │ │ ├── ContextValueClassLevelTest.java │ │ │ │ │ │ │ ├── MTopFilterTest.java │ │ │ │ │ │ │ ├── NameFilterClassLevelTest.java │ │ │ │ │ │ │ ├── NameFilterClassLevelTest_private.java │ │ │ │ │ │ │ ├── NameFilterTest.java │ │ │ │ │ │ │ ├── NameFilterTest_IntegerKey.java │ │ │ │ │ │ │ ├── NameFilterTest_boolean.java │ │ │ │ │ │ │ ├── NameFilterTest_boolean_field.java │ │ │ │ │ │ │ ├── NameFilterTest_byte.java │ │ │ │ │ │ │ ├── NameFilterTest_byte_field.java │ │ │ │ │ │ │ ├── NameFilterTest_char.java │ │ │ │ │ │ │ ├── NameFilterTest_double.java │ │ │ │ │ │ │ ├── NameFilterTest_double_field.java │ │ │ │ │ │ │ ├── NameFilterTest_float.java │ │ │ │ │ │ │ ├── NameFilterTest_float_field.java │ │ │ │ │ │ │ ├── NameFilterTest_int.java │ │ │ │ │ │ │ ├── NameFilterTest_int_field.java │ │ │ │ │ │ │ ├── NameFilterTest_long.java │ │ │ │ │ │ │ ├── NameFilterTest_long_field.java │ │ │ │ │ │ │ ├── NameFilterTest_short.java │ │ │ │ │ │ │ ├── NameFilterTest_short_field.java │ │ │ │ │ │ │ ├── PropertyFilterClassLevelTest.java │ │ │ │ │ │ │ ├── PropertyFilterClassLevelTest_private.java │ │ │ │ │ │ │ ├── PropertyFilterTest.java │ │ │ │ │ │ │ ├── PropertyFilterTest2.java │ │ │ │ │ │ │ ├── PropertyFilter_bool_field.java │ │ │ │ │ │ │ ├── PropertyFilter_byte.java │ │ │ │ │ │ │ ├── PropertyFilter_char.java │ │ │ │ │ │ │ ├── PropertyFilter_double.java │ │ │ │ │ │ │ ├── PropertyFilter_float.java │ │ │ │ │ │ │ ├── PropertyFilter_int_field.java │ │ │ │ │ │ │ ├── PropertyFilter_long.java │ │ │ │ │ │ │ ├── PropertyFilter_long_field.java │ │ │ │ │ │ │ ├── PropertyFilter_short.java │ │ │ │ │ │ │ ├── PropertyPathTest.java │ │ │ │ │ │ │ ├── PropertyPathTest2.java │ │ │ │ │ │ │ ├── PropertyPathTest3.java │ │ │ │ │ │ │ ├── PropertyPreFilterClassLevelTest.java │ │ │ │ │ │ │ ├── PropertyPreFilterClassLevelTest_private.java │ │ │ │ │ │ │ ├── PropertyPrefFilterTest_IntegerKey.java │ │ │ │ │ │ │ ├── ValueClassLevelTest.java │ │ │ │ │ │ │ ├── ValueClassLevelTest_private.java │ │ │ │ │ │ │ ├── ValueFilterTest.java │ │ │ │ │ │ │ ├── ValueFilterTest_IntegerKey.java │ │ │ │ │ │ │ ├── ValueFilterTest_field.java │ │ │ │ │ │ │ ├── ValueFilterTest_field_boolean.java │ │ │ │ │ │ │ ├── ValueFilterTest_field_int.java │ │ │ │ │ │ │ └── ValueFilterTest_field_long.java │ │ │ │ │ │ ├── label/ │ │ │ │ │ │ │ ├── LabelIncludeTest.java │ │ │ │ │ │ │ ├── LabelIncludeTest2.java │ │ │ │ │ │ │ └── LabelIncludeTest3.java │ │ │ │ │ │ ├── prettyFormat/ │ │ │ │ │ │ │ ├── ArrayListFieldTest.java │ │ │ │ │ │ │ └── ArrayListTest.java │ │ │ │ │ │ ├── stream/ │ │ │ │ │ │ │ ├── StreamWriterTest_writeArray.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeArray2.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeBytes.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeBytes1.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeChar.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeChar1.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_bool.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_int.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_int_1.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_long.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_string.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeFieldValue_string_singQuote.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeInt.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeIntAndChar.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeJSONStringTo.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeLong.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeLongAndChar.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeString.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeString1.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeValueString.java │ │ │ │ │ │ │ ├── StreamWriterTest_writeValueString1.java │ │ │ │ │ │ │ └── StreamWriterTest_writeValueString2.java │ │ │ │ │ │ └── writeJSONStringToTest.java │ │ │ │ │ ├── stream/ │ │ │ │ │ │ ├── JSONWriterTest.java │ │ │ │ │ │ ├── JSONWriterTest_0.java │ │ │ │ │ │ ├── JSONWriterTest_1.java │ │ │ │ │ │ ├── JSONWriterTest_2.java │ │ │ │ │ │ ├── JSONWriterTest_3.java │ │ │ │ │ │ ├── JSONWriterTest_4.java │ │ │ │ │ │ ├── JSONWriterTest_5.java │ │ │ │ │ │ ├── JSONWriterTest_6.java │ │ │ │ │ │ ├── JSONWriterTest_error.java │ │ │ │ │ │ └── LargeTest.java │ │ │ │ │ ├── support/ │ │ │ │ │ │ ├── FastJsonConfigTest.java │ │ │ │ │ │ ├── hsf/ │ │ │ │ │ │ │ ├── HSFJSONUtilsTest_0.java │ │ │ │ │ │ │ ├── HSFJSONUtilsTest_1.java │ │ │ │ │ │ │ ├── HSFJSONUtilsTest_2.java │ │ │ │ │ │ │ ├── HSFJSONUtilsTest_3.java │ │ │ │ │ │ │ └── HSFJSONUtilsTest_4.java │ │ │ │ │ │ ├── jaxrs/ │ │ │ │ │ │ │ ├── FastJsonProviderTest.java │ │ │ │ │ │ │ └── mock/ │ │ │ │ │ │ │ ├── entity/ │ │ │ │ │ │ │ │ ├── FastJsonParentTestVO.java │ │ │ │ │ │ │ │ ├── FastJsonSonTestVO.java │ │ │ │ │ │ │ │ └── FastJsonTestVO.java │ │ │ │ │ │ │ ├── service/ │ │ │ │ │ │ │ │ ├── FastJsonRestfulServiceTest.java │ │ │ │ │ │ │ │ └── FastJsonRestfulServiceTestImpl.java │ │ │ │ │ │ │ └── testcase/ │ │ │ │ │ │ │ └── FastJsonProviderTest.java │ │ │ │ │ │ ├── moneta/ │ │ │ │ │ │ │ ├── MoneyNumberTest.java │ │ │ │ │ │ │ └── MoneyTest.java │ │ │ │ │ │ ├── oracle/ │ │ │ │ │ │ │ ├── TestOracleDATE.java │ │ │ │ │ │ │ └── TestOracleTIMESTAMP.java │ │ │ │ │ │ ├── retrofit/ │ │ │ │ │ │ │ └── Retrofit2ConverterFactoryTest0.java │ │ │ │ │ │ ├── spring/ │ │ │ │ │ │ │ ├── FastJsonHttpMessageConverter4Test.java │ │ │ │ │ │ │ ├── FastJsonHttpMessageConverterTest.java │ │ │ │ │ │ │ ├── FastJsonJsonViewTest.java │ │ │ │ │ │ │ ├── FastJsonRedisSerializerTest.java │ │ │ │ │ │ │ ├── FastJsonpHttpMessageConverter4Test.java │ │ │ │ │ │ │ ├── FastjsonSockJsMessageCodecTest_encode.java │ │ │ │ │ │ │ ├── GenericFastJsonRedisSerializerTest.java │ │ │ │ │ │ │ ├── data/ │ │ │ │ │ │ │ │ └── PageToJSONTest.java │ │ │ │ │ │ │ ├── messaging/ │ │ │ │ │ │ │ │ └── MappingFastJsonMessageConverterTest.java │ │ │ │ │ │ │ ├── mock/ │ │ │ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ │ │ │ ├── FastJsonControllerTest.java │ │ │ │ │ │ │ │ │ ├── FastJsonViewAndJSONPControllerTest.java │ │ │ │ │ │ │ │ │ └── FastJsonViewControllerTest.java │ │ │ │ │ │ │ │ ├── entity/ │ │ │ │ │ │ │ │ │ ├── FastJsonEnumTestVO.java │ │ │ │ │ │ │ │ │ ├── FastJsonGenericityTestVO.java │ │ │ │ │ │ │ │ │ ├── FastJsonParentTestVO.java │ │ │ │ │ │ │ │ │ ├── FastJsonSonTestVO.java │ │ │ │ │ │ │ │ │ └── FastJsonTestVO.java │ │ │ │ │ │ │ │ └── testcase/ │ │ │ │ │ │ │ │ ├── FastJsonHttpMessageConverter4Test.java │ │ │ │ │ │ │ │ ├── FastJsonHttpMessageConverterCase2Test.java │ │ │ │ │ │ │ │ ├── FastJsonHttpMessageConverterJSONPCaseTest.java │ │ │ │ │ │ │ │ ├── FastJsonHttpMessageConverterTest.java │ │ │ │ │ │ │ │ ├── FastJsonJsonViewTest.java │ │ │ │ │ │ │ │ ├── FastJsonViewTest.java │ │ │ │ │ │ │ │ ├── FastJsonpHttpMessageConverter4Case1Test.java │ │ │ │ │ │ │ │ ├── FastJsonpHttpMessageConverter4Case2Test.java │ │ │ │ │ │ │ │ └── FastJsonpHttpMessageConverter4Case3Test.java │ │ │ │ │ │ │ └── security/ │ │ │ │ │ │ │ ├── DefaultOAuth2AccessTokenTest.java │ │ │ │ │ │ │ └── DefaultSavedRequestTest.java │ │ │ │ │ │ └── springfox/ │ │ │ │ │ │ └── JsonValueTest.java │ │ │ │ │ ├── taobao/ │ │ │ │ │ │ ├── ItemUpdateDOTest.java │ │ │ │ │ │ ├── MTopTest.java │ │ │ │ │ │ └── TradeTest.java │ │ │ │ │ ├── typeRef/ │ │ │ │ │ │ ├── TypeReferenceTest.java │ │ │ │ │ │ ├── TypeReferenceTest10.java │ │ │ │ │ │ ├── TypeReferenceTest11.java │ │ │ │ │ │ ├── TypeReferenceTest12.java │ │ │ │ │ │ ├── TypeReferenceTest13.java │ │ │ │ │ │ ├── TypeReferenceTest14.java │ │ │ │ │ │ ├── TypeReferenceTest2.java │ │ │ │ │ │ ├── TypeReferenceTest3.java │ │ │ │ │ │ ├── TypeReferenceTest4.java │ │ │ │ │ │ ├── TypeReferenceTest5.java │ │ │ │ │ │ ├── TypeReferenceTest6.java │ │ │ │ │ │ ├── TypeReferenceTest7.java │ │ │ │ │ │ ├── TypeReferenceTest8.java │ │ │ │ │ │ └── TypeReferenceTest9.java │ │ │ │ │ ├── util/ │ │ │ │ │ │ ├── AntiCollisionHashMapTest.java │ │ │ │ │ │ ├── AntiCollisionHashMapTest_writeClassName.java │ │ │ │ │ │ ├── Base64Test.java │ │ │ │ │ │ ├── FieldInfoTest.java │ │ │ │ │ │ ├── GenericFieldInfoTest.java │ │ │ │ │ │ ├── GenericFieldInfoTest2.java │ │ │ │ │ │ ├── IOUtilsTest.java │ │ │ │ │ │ ├── JSONASMUtilTest.java │ │ │ │ │ │ ├── JavaBeanInfoTest.java │ │ │ │ │ │ ├── RyuDoubleTest.java │ │ │ │ │ │ ├── RyuFloatTest.java │ │ │ │ │ │ ├── ThreadLocalCacheTest.java │ │ │ │ │ │ ├── TypeUtilsCastLinkedHashMap.java │ │ │ │ │ │ ├── TypeUtilsTest.java │ │ │ │ │ │ └── UTF8DecoderTest.java │ │ │ │ │ ├── validate/ │ │ │ │ │ │ └── JSONValidatorTest.java │ │ │ │ │ ├── value/ │ │ │ │ │ │ └── LongValueTest.java │ │ │ │ │ ├── writeAsArray/ │ │ │ │ │ │ ├── WriteAsArray_0_private.java │ │ │ │ │ │ ├── WriteAsArray_0_public.java │ │ │ │ │ │ ├── WriteAsArray_Eishay.java │ │ │ │ │ │ ├── WriteAsArray_Eishay_Image.java │ │ │ │ │ │ ├── WriteAsArray_Eishay_Media.java │ │ │ │ │ │ ├── WriteAsArray_Object.java │ │ │ │ │ │ ├── WriteAsArray_Object_2_public.java │ │ │ │ │ │ ├── WriteAsArray_Object_public.java │ │ │ │ │ │ ├── WriteAsArray_boolean_public.java │ │ │ │ │ │ ├── WriteAsArray_byte_public.java │ │ │ │ │ │ ├── WriteAsArray_char_public.java │ │ │ │ │ │ ├── WriteAsArray_double_private.java │ │ │ │ │ │ ├── WriteAsArray_double_public.java │ │ │ │ │ │ ├── WriteAsArray_enum_public.java │ │ │ │ │ │ ├── WriteAsArray_float2_private.java │ │ │ │ │ │ ├── WriteAsArray_float2_public.java │ │ │ │ │ │ ├── WriteAsArray_float_public.java │ │ │ │ │ │ ├── WriteAsArray_int_public.java │ │ │ │ │ │ ├── WriteAsArray_jsonType.java │ │ │ │ │ │ ├── WriteAsArray_list_obj_first_public.java │ │ │ │ │ │ ├── WriteAsArray_list_obj_public.java │ │ │ │ │ │ ├── WriteAsArray_list_public.java │ │ │ │ │ │ ├── WriteAsArray_long_private.java │ │ │ │ │ │ ├── WriteAsArray_long_public.java │ │ │ │ │ │ ├── WriteAsArray_long_stream_public.java │ │ │ │ │ │ ├── WriteAsArray_short_public.java │ │ │ │ │ │ ├── WriteAsArray_string.java │ │ │ │ │ │ ├── WriteAsArray_string_special.java │ │ │ │ │ │ ├── WriteAsArray_string_special_2.java │ │ │ │ │ │ └── WriteAsArray_string_special_Reader.java │ │ │ │ │ └── writeClassName/ │ │ │ │ │ ├── MapTest.java │ │ │ │ │ ├── StrictAutoTypeTest_0.java │ │ │ │ │ ├── WriteClassNameTest.java │ │ │ │ │ ├── WriteClassNameTest2.java │ │ │ │ │ ├── WriteClassNameTest3.java │ │ │ │ │ ├── WriteClassNameTest5.java │ │ │ │ │ ├── WriteClassNameTest6.java │ │ │ │ │ ├── WriteClassNameTest_Collection.java │ │ │ │ │ ├── WriteClassNameTest_Collection2.java │ │ │ │ │ ├── WriteClassNameTest_List.java │ │ │ │ │ ├── WriteClassNameTest_List2.java │ │ │ │ │ ├── WriteClassNameTest_List3.java │ │ │ │ │ ├── WriteClassNameTest_Map.java │ │ │ │ │ ├── WriteClassNameTest_Set.java │ │ │ │ │ ├── WriteClassNameTest_Set2.java │ │ │ │ │ ├── WriteClassNameTest_Set3.java │ │ │ │ │ ├── WriteClassNameTest_Set4.java │ │ │ │ │ ├── WriteClassNameTest_Set5.java │ │ │ │ │ ├── WriteClassNameTest_bytes.java │ │ │ │ │ └── WriteDuplicateType.java │ │ │ │ ├── bvtVO/ │ │ │ │ │ ├── AccessHttpConfigModel.java │ │ │ │ │ ├── ArgCheckTest.java │ │ │ │ │ ├── AuditStatusType.java │ │ │ │ │ ├── Bean.java │ │ │ │ │ ├── BigClass.java │ │ │ │ │ ├── ContactTemplateParam.java │ │ │ │ │ ├── DataTransaction.java │ │ │ │ │ ├── DataTransaction2.java │ │ │ │ │ ├── IEvent.java │ │ │ │ │ ├── IEventDto.java │ │ │ │ │ ├── Image.java │ │ │ │ │ ├── IncomingDataPoint.java │ │ │ │ │ ├── IncomingDataPoint_double.java │ │ │ │ │ ├── IncomingDataPoint_ext_double.java │ │ │ │ │ ├── IntEnum.java │ │ │ │ │ ├── Main.java │ │ │ │ │ ├── OfferRankResultVO.java │ │ │ │ │ ├── OptionKey.java │ │ │ │ │ ├── OptionValue.java │ │ │ │ │ ├── Page.java │ │ │ │ │ ├── PayDO.java │ │ │ │ │ ├── PhysicalQueue.java │ │ │ │ │ ├── ProductView.java │ │ │ │ │ ├── PushMsg.java │ │ │ │ │ ├── QueryResult.java │ │ │ │ │ ├── QueueEntity.java │ │ │ │ │ ├── RainbowStats.java │ │ │ │ │ ├── TempAttachMetaOption.java │ │ │ │ │ ├── TestDTO.java │ │ │ │ │ ├── VirtualTopic.java │ │ │ │ │ ├── WareHouseInfo.java │ │ │ │ │ ├── ae/ │ │ │ │ │ │ ├── Area.java │ │ │ │ │ │ ├── Data.java │ │ │ │ │ │ ├── Floor.java │ │ │ │ │ │ ├── Item.java │ │ │ │ │ │ └── huangliang2/ │ │ │ │ │ │ ├── Area.java │ │ │ │ │ │ ├── Floor.java │ │ │ │ │ │ ├── FloorPageData.java │ │ │ │ │ │ ├── FloorV1.java │ │ │ │ │ │ ├── FloorV2.java │ │ │ │ │ │ ├── MockResult.java │ │ │ │ │ │ ├── NetResponse.java │ │ │ │ │ │ └── Section.java │ │ │ │ │ ├── alipay/ │ │ │ │ │ │ └── PlatformDepartmentVO.java │ │ │ │ │ ├── basic/ │ │ │ │ │ │ └── LongPrimitiveEntity.java │ │ │ │ │ ├── bbc/ │ │ │ │ │ │ ├── BaseResult.java │ │ │ │ │ │ └── MyResultResult.java │ │ │ │ │ ├── deny/ │ │ │ │ │ │ └── A.java │ │ │ │ │ ├── mogujie/ │ │ │ │ │ │ ├── BankCard.java │ │ │ │ │ │ ├── BaseDTO.java │ │ │ │ │ │ └── BindQueryRespDTO.java │ │ │ │ │ ├── vip_com/ │ │ │ │ │ │ ├── QueryLoanOrderRsp.java │ │ │ │ │ │ └── TxnListItsm.java │ │ │ │ │ ├── wuqi/ │ │ │ │ │ │ ├── InstanceSchema.java │ │ │ │ │ │ ├── Result.java │ │ │ │ │ │ └── SchemaResult.java │ │ │ │ │ └── 一个中文名字的包/ │ │ │ │ │ └── User.java │ │ │ │ ├── demo/ │ │ │ │ │ ├── BooleanFieldDemo.java │ │ │ │ │ ├── DateDemo.java │ │ │ │ │ ├── Demo1.java │ │ │ │ │ ├── Demo2.java │ │ │ │ │ ├── EncodeDemo.java │ │ │ │ │ ├── ErrorObjectSerializer.java │ │ │ │ │ ├── FilterDemo.java │ │ │ │ │ ├── Forguard.java │ │ │ │ │ ├── Group.java │ │ │ │ │ ├── JSONFeidDemo.java │ │ │ │ │ ├── MapDemo.java │ │ │ │ │ ├── ReuseObject.java │ │ │ │ │ ├── User.java │ │ │ │ │ ├── X.java │ │ │ │ │ ├── XAutowiredObjectSerializer.java │ │ │ │ │ └── hibernate/ │ │ │ │ │ ├── ForceLazyLoadingTest.java │ │ │ │ │ ├── LazyLoadingTest.java │ │ │ │ │ └── data/ │ │ │ │ │ ├── Customer.java │ │ │ │ │ ├── Employee.java │ │ │ │ │ ├── Office.java │ │ │ │ │ ├── Order.java │ │ │ │ │ ├── OrderDetail.java │ │ │ │ │ ├── OrderDetailId.java │ │ │ │ │ ├── Payment.java │ │ │ │ │ ├── PaymentId.java │ │ │ │ │ └── Product.java │ │ │ │ └── test/ │ │ │ │ ├── A1.java │ │ │ │ ├── Base64.java │ │ │ │ ├── Bug_0_Test.java │ │ │ │ ├── DateTest.java │ │ │ │ ├── DetectProhibitChar.java │ │ │ │ ├── DigitTest.java │ │ │ │ ├── ErrorAppendable.java │ │ │ │ ├── FNV32_CollisionTest.java │ │ │ │ ├── FNV32_CollisionTest_2.java │ │ │ │ ├── FNV32_CollisionTest_All.java │ │ │ │ ├── FNVHashTest.java │ │ │ │ ├── GenerateJavaTest.java │ │ │ │ ├── InnerInnerTest.java │ │ │ │ ├── IntArrayFieldTest_primitive.java │ │ │ │ ├── Issue1001.java │ │ │ │ ├── Issue1407.java │ │ │ │ ├── Issue1488.java │ │ │ │ ├── Issue3805.java │ │ │ │ ├── JSONLibXmlTest.java │ │ │ │ ├── JSONParser2Test.java │ │ │ │ ├── JavaHash_CollisionTest.java │ │ │ │ ├── JsonIteratorByteArrayTest.java │ │ │ │ ├── JsonIteratorImageTest.java │ │ │ │ ├── JsonIteratorTest.java │ │ │ │ ├── SymbolTableDupTest.java │ │ │ │ ├── TestASM.java │ │ │ │ ├── TestFor_iteye_resolute.java │ │ │ │ ├── TestSysProperty.java │ │ │ │ ├── TestUtils.java │ │ │ │ ├── TestWriteSlashAsSpecial.java │ │ │ │ ├── UTF8Test.java │ │ │ │ ├── UTF8Test_decode.java │ │ │ │ ├── VansParseTest.java │ │ │ │ ├── a/ │ │ │ │ │ ├── A20170327_0.java │ │ │ │ │ ├── Alipay1206.java │ │ │ │ │ ├── AlipayJSONPathReplace.java │ │ │ │ │ ├── CompilerTest.java │ │ │ │ │ ├── Group.java │ │ │ │ │ ├── GsonTest.java │ │ │ │ │ ├── IncomingDataPointBenchmark.java │ │ │ │ │ ├── IncomingDataPointBenchmark_file.java │ │ │ │ │ ├── IncomingDataPointBenchmark_file_double.java │ │ │ │ │ ├── IncomingDataPointBenchmark_file_ext_double.java │ │ │ │ │ ├── JTest.java │ │ │ │ │ ├── SpecialTest.java │ │ │ │ │ ├── User.java │ │ │ │ │ ├── VRTest.java │ │ │ │ │ └── WhiteSpaceTest.java │ │ │ │ ├── benchmark/ │ │ │ │ │ ├── BenchmarkCase.java │ │ │ │ │ ├── BenchmarkExecutor.java │ │ │ │ │ ├── BenchmarkMain.java │ │ │ │ │ ├── BenchmarkMain_EishayDecode.java │ │ │ │ │ ├── BenchmarkMain_EishayDecode_WriteAsArray.java │ │ │ │ │ ├── BenchmarkMain_EishayEncode.java │ │ │ │ │ ├── BenchmarkMain_EishayEncode_WriteAsArray.java │ │ │ │ │ ├── BenchmarkTest.java │ │ │ │ │ ├── JSONPathBenchmarkTest.java │ │ │ │ │ ├── RyuDoubleBenchmark.java │ │ │ │ │ ├── RyuFloatBenchmark.java │ │ │ │ │ ├── basic/ │ │ │ │ │ │ ├── BigDecimalBenchmark.java │ │ │ │ │ │ ├── BigIntegerBenchmark.java │ │ │ │ │ │ ├── BooleanBenchmark.java │ │ │ │ │ │ ├── ByteBenchmark.java │ │ │ │ │ │ ├── ByteBenchmark_arrayMapping_obj.java │ │ │ │ │ │ ├── ByteBenchmark_obj.java │ │ │ │ │ │ ├── DateBenchmark.java │ │ │ │ │ │ ├── DoubleBenchmark.java │ │ │ │ │ │ ├── DoubleBenchmark_arrayMapping.java │ │ │ │ │ │ ├── DoubleBenchmark_arrayMapping_obj.java │ │ │ │ │ │ ├── DoubleBenchmark_obj.java │ │ │ │ │ │ ├── FloatBenchmark.java │ │ │ │ │ │ ├── FloatBenchmark_arrayMapping.java │ │ │ │ │ │ ├── FloatBenchmark_arrayMapping_obj.java │ │ │ │ │ │ ├── FloatBenchmark_obj.java │ │ │ │ │ │ ├── IntBenchmark.java │ │ │ │ │ │ ├── IntBenchmark_arrayMapping_obj.java │ │ │ │ │ │ ├── IntBenchmark_obj.java │ │ │ │ │ │ ├── LinkedListBenchmark.java │ │ │ │ │ │ ├── LongBenchmark.java │ │ │ │ │ │ ├── LongBenchmark_obj.java │ │ │ │ │ │ ├── ShortBenchmark.java │ │ │ │ │ │ ├── ShortBenchmark_arrayMappinng_obj.java │ │ │ │ │ │ ├── ShortBenchmark_obj.java │ │ │ │ │ │ └── UUIDBenchmark.java │ │ │ │ │ ├── decode/ │ │ │ │ │ │ ├── BooleanArray1000Decode.java │ │ │ │ │ │ ├── EishayDecode.java │ │ │ │ │ │ ├── EishayDecode2Bytes.java │ │ │ │ │ │ ├── EishayDecodeByClassName.java │ │ │ │ │ │ ├── EishayDecodeBytes.java │ │ │ │ │ │ ├── EishayTreeDecode.java │ │ │ │ │ │ ├── Entity100IntDecode.java │ │ │ │ │ │ ├── Entity100StringDecode.java │ │ │ │ │ │ ├── GroupDecode.java │ │ │ │ │ │ ├── IntArray1000Decode.java │ │ │ │ │ │ ├── Map1000StringDecode.java │ │ │ │ │ │ ├── Map1Decode.java │ │ │ │ │ │ ├── StringArray1000Decode.java │ │ │ │ │ │ └── TradeObjectParse.java │ │ │ │ │ ├── encode/ │ │ │ │ │ │ ├── ArrayBoolean1000Encode.java │ │ │ │ │ │ ├── ArrayByte1000Encode.java │ │ │ │ │ │ ├── ArrayEmptyList1000Encode.java │ │ │ │ │ │ ├── ArrayEmptyMap1000Encode.java │ │ │ │ │ │ ├── ArrayInt1000Encode.java │ │ │ │ │ │ ├── ArrayLong1000Encode.java │ │ │ │ │ │ ├── ArrayObjectEmptyMap1000Encode.java │ │ │ │ │ │ ├── ArrayString1000Encode.java │ │ │ │ │ │ ├── CategoryEncode.java │ │ │ │ │ │ ├── EishayEncode.java │ │ │ │ │ │ ├── EishayEncodeOutputStream.java │ │ │ │ │ │ ├── EishayEncodeToBytes.java │ │ │ │ │ │ ├── Entity100IntEncode.java │ │ │ │ │ │ ├── GroupEncode.java │ │ │ │ │ │ ├── ListBoolean1000Encode.java │ │ │ │ │ │ └── Map1000Encode.java │ │ │ │ │ ├── entity/ │ │ │ │ │ │ ├── Entity100Int.java │ │ │ │ │ │ └── Entity100String.java │ │ │ │ │ └── jdk10/ │ │ │ │ │ ├── StringBenchmark.java │ │ │ │ │ └── StringBenchmark_jackson.java │ │ │ │ ├── codec/ │ │ │ │ │ ├── Codec.java │ │ │ │ │ ├── FastjsonArrayMappingCodec.java │ │ │ │ │ ├── FastjsonBeanToArrayCodec.java │ │ │ │ │ ├── FastjsonCodec.java │ │ │ │ │ ├── FastjsonGenCodec.java │ │ │ │ │ ├── FastjsonManualCodec.java │ │ │ │ │ ├── FastjsonSCodec.java │ │ │ │ │ ├── GsonCodec.java │ │ │ │ │ ├── Jackson2AfterBurnCodec.java │ │ │ │ │ ├── Jackson2Codec.java │ │ │ │ │ ├── JacksonCodec.java │ │ │ │ │ ├── JsonLibCodec.java │ │ │ │ │ ├── JsonSmartCodec.java │ │ │ │ │ └── SimpleJsonCodec.java │ │ │ │ ├── codegen/ │ │ │ │ │ ├── Department.java │ │ │ │ │ ├── DepartmentCodec.java │ │ │ │ │ ├── DepartmentType.java │ │ │ │ │ ├── Employee.java │ │ │ │ │ ├── GenMediaTest.java │ │ │ │ │ ├── GenTest.java │ │ │ │ │ └── MediaContentGenTest.java │ │ │ │ ├── deny/ │ │ │ │ │ └── NotExistsTest.java │ │ │ │ ├── dubbo/ │ │ │ │ │ ├── EnumTest.java │ │ │ │ │ ├── FullAddress.java │ │ │ │ │ ├── HelloServiceImpl.java │ │ │ │ │ ├── Image.java │ │ │ │ │ ├── Person.java │ │ │ │ │ ├── PersonInfo.java │ │ │ │ │ ├── PersonStatus.java │ │ │ │ │ ├── Phone.java │ │ │ │ │ ├── Tiger.java │ │ │ │ │ └── Tigers.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Company.java │ │ │ │ │ ├── Department.java │ │ │ │ │ ├── Employee.java │ │ │ │ │ ├── Group.java │ │ │ │ │ ├── TestEntity.java │ │ │ │ │ ├── case1/ │ │ │ │ │ │ ├── IntObject_100_Entity.java │ │ │ │ │ │ ├── Int_100_Entity.java │ │ │ │ │ │ ├── LongObject_100_Entity.java │ │ │ │ │ │ ├── Long_100_Entity.java │ │ │ │ │ │ └── String_100_Entity.java │ │ │ │ │ ├── case2/ │ │ │ │ │ │ └── Category.java │ │ │ │ │ └── pagemodel/ │ │ │ │ │ ├── ComponentInstance.java │ │ │ │ │ ├── ComponentInstanceParam.java │ │ │ │ │ ├── LayoutInstance.java │ │ │ │ │ ├── PageInstance.java │ │ │ │ │ ├── RegionEnum.java │ │ │ │ │ ├── RegionInstance.java │ │ │ │ │ ├── SegmentInstance.java │ │ │ │ │ └── WidgetInstance.java │ │ │ │ ├── epubview/ │ │ │ │ │ ├── EpubViewBook.java │ │ │ │ │ ├── EpubViewHotPoint.java │ │ │ │ │ ├── EpubViewHotPointZone.java │ │ │ │ │ ├── EpubViewMetaData.java │ │ │ │ │ ├── EpubViewPage.java │ │ │ │ │ ├── TestKlutz.java │ │ │ │ │ ├── TestKlutz2.java │ │ │ │ │ └── TestKlutz3.java │ │ │ │ ├── generic/ │ │ │ │ │ ├── GenericTypeTest.java │ │ │ │ │ ├── TBean.java │ │ │ │ │ ├── TGen.java │ │ │ │ │ └── TStr.java │ │ │ │ ├── gson/ │ │ │ │ │ └── TestChineseQuote.java │ │ │ │ ├── jackson/ │ │ │ │ │ ├── JacksonInnerClassTest.java │ │ │ │ │ ├── JacksonTest.java │ │ │ │ │ ├── JacksonTypeInfoTest.java │ │ │ │ │ └── JacksonUnwrappedTest.java │ │ │ │ ├── knowissue/ │ │ │ │ │ └── Bug_for_loveflying.java │ │ │ │ ├── performance/ │ │ │ │ │ ├── DecoderPerformanceTest.java │ │ │ │ │ ├── IntArrayEncodePerformanceTest.java │ │ │ │ │ ├── IntegerArrayEncodePerformanceTest.java │ │ │ │ │ ├── IntegerListEncodePerformanceTest.java │ │ │ │ │ ├── JacksonGroupDecoder.java │ │ │ │ │ ├── JacksonGroupParser.java │ │ │ │ │ ├── JacksonPageModelParser.java │ │ │ │ │ ├── JsonitorCollisionTest.java │ │ │ │ │ ├── ObjectDecodePerformanceTest.java │ │ │ │ │ ├── ObjectEncodePerformanceTest.java │ │ │ │ │ ├── PageModelPerformanceTest.java │ │ │ │ │ └── case1/ │ │ │ │ │ ├── GenerateTest.java │ │ │ │ │ ├── IntDecoderPerformanceTest.java │ │ │ │ │ ├── IntObjectDecodePerformanceTest.java │ │ │ │ │ └── IntObjectEncodePerformanceTest.java │ │ │ │ ├── ryu/ │ │ │ │ │ ├── RyuDoubleTest.java │ │ │ │ │ └── RyuFloatTest.java │ │ │ │ ├── tmall/ │ │ │ │ │ ├── EngineResult.java │ │ │ │ │ ├── Head.java │ │ │ │ │ ├── RateResult.java │ │ │ │ │ ├── RateSearchItemDO.java │ │ │ │ │ └── TmallTest.java │ │ │ │ └── vans/ │ │ │ │ ├── VansAnimation.java │ │ │ │ ├── VansData.java │ │ │ │ ├── VansGeometry.java │ │ │ │ ├── VansGeometryData.java │ │ │ │ ├── VansGeometryDataMetaData.java │ │ │ │ ├── VansMetaData.java │ │ │ │ ├── VansObject.java │ │ │ │ └── VansObjectChildren.java │ │ │ ├── derbysoft/ │ │ │ │ └── spitfire/ │ │ │ │ └── fastjson/ │ │ │ │ ├── ABCTest.java │ │ │ │ ├── Generic.java │ │ │ │ ├── Header.java │ │ │ │ ├── TestFastJson.java │ │ │ │ └── dto/ │ │ │ │ ├── AbstractDTO.java │ │ │ │ ├── AbstractRS.java │ │ │ │ ├── AgeQualifyingType.java │ │ │ │ ├── AvailGuaranteeDTO.java │ │ │ │ ├── AvailRoomStayDTO.java │ │ │ │ ├── BathType.java │ │ │ │ ├── CancelPenaltyType.java │ │ │ │ ├── CancelPolicyDTO.java │ │ │ │ ├── CardCode.java │ │ │ │ ├── ChargeItemDTO.java │ │ │ │ ├── ChargeType.java │ │ │ │ ├── ChargeUnit.java │ │ │ │ ├── CompositeType.java │ │ │ │ ├── Currency.java │ │ │ │ ├── DateRangeDTO.java │ │ │ │ ├── ErrorsDTO.java │ │ │ │ ├── FreeMealDTO.java │ │ │ │ ├── FreeMealType.java │ │ │ │ ├── GenericRS.java │ │ │ │ ├── GuaranteeType.java │ │ │ │ ├── GuestCountDTO.java │ │ │ │ ├── HotelAvailRS.java │ │ │ │ ├── HotelAvailRoomStayDTO.java │ │ │ │ ├── HotelRefDTO.java │ │ │ │ ├── InternetDTO.java │ │ │ │ ├── InternetType.java │ │ │ │ ├── LanguageType.java │ │ │ │ ├── MealsIncludedDTO.java │ │ │ │ ├── MealsIncludedType.java │ │ │ │ ├── PaymentType.java │ │ │ │ ├── ProviderChainDTO.java │ │ │ │ ├── RateDTO.java │ │ │ │ ├── RatePlanDTO.java │ │ │ │ ├── ResponseHeader.java │ │ │ │ ├── RoomRateDTO.java │ │ │ │ ├── RoomStayCandidateDTO.java │ │ │ │ ├── RoomTypeDTO.java │ │ │ │ ├── SimpleAmountDTO.java │ │ │ │ ├── SmokingType.java │ │ │ │ ├── StayDateRangeDTO.java │ │ │ │ ├── SuccessDTO.java │ │ │ │ ├── TPAExtensionsDTO.java │ │ │ │ ├── UniqueIDDTO.java │ │ │ │ ├── UniqueIDType.java │ │ │ │ ├── WarningDTO.java │ │ │ │ └── WarningsDTO.java │ │ │ ├── mchange/ │ │ │ │ └── v2/ │ │ │ │ └── c3p0/ │ │ │ │ └── impl/ │ │ │ │ └── PoolBackedDataSourceBase.java │ │ │ └── wheelchair/ │ │ │ ├── parser/ │ │ │ │ └── JSONScannerTest.java │ │ │ └── validate/ │ │ │ ├── testcase_accurate_json.json │ │ │ ├── testcase_colon_error.json │ │ │ ├── testcase_num_error1.json │ │ │ ├── testcase_num_error2.json │ │ │ ├── testcase_quotation_mark_error.json │ │ │ ├── testcase_square_brackets_error.json │ │ │ └── testcase_tfn_error.json │ │ ├── data/ │ │ │ ├── ReprUtil.java │ │ │ └── media/ │ │ │ ├── FieldMapping.java │ │ │ ├── Image.java │ │ │ ├── ImageGenDecoder.java │ │ │ ├── Media.java │ │ │ ├── MediaContent.java │ │ │ ├── MediaContentDeserializer.java │ │ │ ├── MediaContentGenDecoder.java │ │ │ ├── MediaGenDecoder.java │ │ │ └── writeAsArray/ │ │ │ ├── ImageDeserializer.java │ │ │ ├── ImageSerializer.java │ │ │ ├── MediaContentDeserializer.java │ │ │ ├── MediaContentSerializer.java │ │ │ ├── MediaDeserializer.java │ │ │ └── MediaSerializer.java │ │ └── oracle/ │ │ └── sql/ │ │ ├── DATE.java │ │ └── TIMESTAMP.java │ └── resources/ │ ├── 1.txt │ ├── 2.json │ ├── META-INF/ │ │ ├── persistence.xml │ │ └── services/ │ │ └── com.alibaba.fastjson.serializer.AutowiredObjectSerializer │ ├── classicmodels.sql │ ├── com/ │ │ └── alibaba/ │ │ └── json/ │ │ └── bvt/ │ │ └── support/ │ │ ├── jaxrs/ │ │ │ └── mock/ │ │ │ └── resource/ │ │ │ └── applicationContext-rest.xml │ │ └── spring/ │ │ └── mock/ │ │ └── resource/ │ │ ├── applicationContext-mvc1.xml │ │ ├── applicationContext-mvc2.xml │ │ └── applicationContext-mvc3.xml │ ├── config/ │ │ ├── applicationContext-mvc1.xml │ │ ├── applicationContext-mvc2.xml │ │ ├── applicationContext-mvc3.xml │ │ ├── applicationContext-mvc4.xml │ │ ├── applicationContext-mvc5.xml │ │ └── applicationContext-rest.xml │ ├── data/ │ │ ├── media.1.cks │ │ ├── media.1.json │ │ ├── media.2.cks │ │ ├── media.2.json │ │ ├── media.3.cks │ │ └── media.4.cks │ ├── epub.json │ ├── external/ │ │ ├── Demo.clazz │ │ ├── EsbHashMapBean.clazz │ │ ├── EsbListBean.clazz │ │ ├── EsbResultModel.clazz │ │ ├── MockDemoService.clazz │ │ ├── MyEsbResultModel2.clazz │ │ ├── VO.clazz │ │ └── VO2.clazz │ ├── fastjson.properties │ ├── hashcollide.txt │ ├── issue72.json │ ├── issue74.json │ ├── json/ │ │ ├── Bug_0_Test.json │ │ ├── Bug_1_Test.json │ │ ├── Bug_2_Test.json │ │ ├── Bug_for_sanxiao.json │ │ ├── Issue408.json │ │ ├── a.js │ │ ├── book.json │ │ ├── dla_01.json │ │ ├── group.json │ │ ├── int_100.json │ │ ├── int_1000.json │ │ ├── int_10000.json │ │ ├── int_500.json │ │ ├── int_array_100.json │ │ ├── int_array_1000.json │ │ ├── int_array_10000.json │ │ ├── int_array_200.json │ │ ├── int_array_500.json │ │ ├── json_with_comment.json │ │ ├── maiksagill.json │ │ ├── object_f_emptyobj_10000.json │ │ ├── object_f_false_10000.json │ │ ├── object_f_int_1000.json │ │ ├── object_f_int_10000.json │ │ ├── object_f_null_10000.json │ │ ├── object_f_string_10000.json │ │ ├── object_f_true_10000.json │ │ ├── page_model_cached.json │ │ ├── string_array_10000.json │ │ ├── taobao/ │ │ │ └── cart.json │ │ ├── trade.json │ │ ├── wangran.json │ │ ├── yannywang.js │ │ └── yannywang.json │ ├── json.json │ ├── jvmargs │ ├── kotlin/ │ │ ├── A.clazz │ │ ├── ClassWithPair.clazz │ │ ├── ClassWithPairMixedTypes.clazz │ │ ├── ClassWithRanges.clazz │ │ ├── ClassWithTriple.clazz │ │ ├── Class_WithPrimaryAndSecondaryConstructor.clazz │ │ ├── DataClass.clazz │ │ ├── DataClassPropsGeneric.clazz │ │ ├── DataClassSimple.clazz │ │ ├── Issue1488_Server.clazz │ │ ├── Issue1569_User.clazz │ │ ├── Issue1750_ProcessBO.clazz │ │ ├── ObjectA.clazz │ │ ├── Person.clazz │ │ ├── ProjectItemCheckItemRelation1.clazz │ │ ├── ResponseKotlin.clazz │ │ ├── ResponseKotlin2.clazz │ │ ├── issue1526/ │ │ │ └── DataClass.clazz │ │ ├── issue1543/ │ │ │ ├── Cluster.clazz │ │ │
Showing preview only (2,177K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (26978 symbols across 3106 files)
FILE: src/main/java/com/alibaba/fastjson/JSON.java
class JSON (line 65) | public abstract class JSON implements JSONStreamAware, JSONAware {
method config (line 101) | private static void config(Properties properties) {
method setDefaultTypeKey (line 138) | public static void setDefaultTypeKey(String typeKey) {
method parse (line 146) | public static Object parse(String text) {
method parse (line 154) | public static Object parse(String text, ParserConfig config) {
method parse (line 162) | public static Object parse(String text, ParserConfig config, Feature.....
method parse (line 175) | public static Object parse(String text, ParserConfig config, int featu...
method parse (line 190) | public static Object parse(String text, int features) {
method parse (line 194) | public static Object parse(byte[] input, Feature... features) {
method parse (line 203) | public static Object parse(byte[] input, int off, int len, CharsetDeco...
method parse (line 216) | public static Object parse(byte[] input, int off, int len, CharsetDeco...
method parse (line 238) | public static Object parse(String text, Feature... features) {
method parseObject (line 247) | public static JSONObject parseObject(String text, Feature... features) {
method parseObject (line 251) | public static JSONObject parseObject(String text) {
method parseObject (line 274) | @SuppressWarnings("unchecked")
method parseObject (line 296) | @SuppressWarnings("unchecked")
method parseObject (line 301) | @SuppressWarnings("unchecked")
method parseObject (line 323) | @SuppressWarnings("unchecked")
method parseObject (line 328) | @SuppressWarnings("unchecked")
method parseObject (line 333) | @SuppressWarnings("unchecked")
method parseObject (line 356) | public static <T> T parseObject(String input, Type clazz, ParserConfig...
method parseObject (line 360) | public static <T> T parseObject(String input, Type clazz, ParserConfig...
method parseObject (line 365) | @SuppressWarnings("unchecked")
method parseObject (line 403) | @SuppressWarnings("unchecked")
method parseObject (line 411) | @SuppressWarnings("unchecked")
method parseObject (line 419) | @SuppressWarnings("unchecked")
method parseObject (line 433) | @SuppressWarnings("unchecked")
method parseObject (line 479) | @SuppressWarnings("unchecked")
method parseObject (line 500) | @SuppressWarnings("unchecked")
method parseObject (line 524) | @SuppressWarnings("unchecked")
method parseObject (line 534) | @SuppressWarnings("unchecked")
method parseObject (line 545) | @SuppressWarnings("unchecked")
method parseObject (line 557) | @SuppressWarnings("unchecked")
method parseObject (line 587) | public static <T> T parseObject(String text, Class<T> clazz) {
method parseArray (line 591) | public static JSONArray parseArray(String text) {
method parseArray (line 595) | public static JSONArray parseArray(String text, ParserConfig parserCon...
method parseArray (line 622) | public static <T> List<T> parseArray(String text, Class<T> clazz) {
method parseArray (line 626) | public static <T> List<T> parseArray(String text, Class<T> clazz, Pars...
method parseArray (line 653) | public static List<Object> parseArray(String text, Type[] types) {
method parseArray (line 657) | public static List<Object> parseArray(String text, Type[] types, Parse...
method toJSONString (line 687) | public static String toJSONString(Object object) {
method toJSONString (line 691) | public static String toJSONString(Object object, SerializerFeature... ...
method toJSONString (line 698) | public static String toJSONString(Object object, int defaultFeatures, ...
method toJSONStringWithDateFormat (line 721) | public static String toJSONStringWithDateFormat(Object object, String ...
method toJSONString (line 726) | public static String toJSONString(Object object, SerializeFilter filte...
method toJSONString (line 730) | public static String toJSONString(Object object, SerializeFilter[] fil...
method toJSONBytes (line 734) | public static byte[] toJSONBytes(Object object, SerializerFeature... f...
method toJSONBytes (line 738) | public static byte[] toJSONBytes(Object object, SerializeFilter filter...
method toJSONBytes (line 745) | public static byte[] toJSONBytes(Object object, int defaultFeatures, S...
method toJSONString (line 749) | public static String toJSONString(Object object, SerializeConfig confi...
method toJSONString (line 753) | public static String toJSONString(Object object, //
method toJSONString (line 760) | public static String toJSONString(Object object, //
method toJSONString (line 771) | public static String toJSONString(Object object, //
method toJSONStringZ (line 804) | public static String toJSONStringZ(Object object, SerializeConfig mapp...
method toJSONBytes (line 811) | public static byte[] toJSONBytes(Object object, SerializeConfig config...
method toJSONBytes (line 818) | public static byte[] toJSONBytes(Object object, SerializeConfig config...
method toJSONBytes (line 825) | public static byte[] toJSONBytes(Object object, SerializeFilter[] filt...
method toJSONBytes (line 829) | public static byte[] toJSONBytes(Object object, SerializeConfig config...
method toJSONBytes (line 836) | public static byte[] toJSONBytes(Object object, SerializeConfig config...
method toJSONBytes (line 843) | public static byte[] toJSONBytes(Object object, SerializeConfig config...
method toJSONBytes (line 850) | public static byte[] toJSONBytes(Charset charset, //
method toJSONBytesWithFastJsonConfig (line 886) | public static byte[] toJSONBytesWithFastJsonConfig(Charset charset, //
method toJSONString (line 916) | public static String toJSONString(Object object, boolean prettyFormat) {
method writeJSONStringTo (line 927) | public static void writeJSONStringTo(Object object, Writer writer, Ser...
method writeJSONString (line 939) | public static void writeJSONString(Writer writer, Object object, Seria...
method writeJSONString (line 946) | public static void writeJSONString(Writer writer, Object object, int d...
method writeJSONString (line 965) | public static final int writeJSONString(OutputStream os, //
method writeJSONString (line 974) | public static final int writeJSONString(OutputStream os, //
method writeJSONString (line 988) | public static final int writeJSONString(OutputStream os, //
method writeJSONString (line 1002) | public static final int writeJSONString(OutputStream os, //
method writeJSONStringWithFastJsonConfig (line 1035) | public static final int writeJSONStringWithFastJsonConfig(OutputStream...
method toString (line 1069) | @Override
method toJSONString (line 1074) | public String toJSONString() {
method toString (line 1087) | public String toString(SerializerFeature... features) {
method writeJSONString (line 1098) | public void writeJSONString(Appendable appendable) {
method toJSON (line 1115) | public static Object toJSON(Object javaObject) {
method toJSON (line 1122) | public static Object toJSON(Object javaObject, ParserConfig parserConf...
method toJSON (line 1126) | @SuppressWarnings("unchecked")
method toJavaObject (line 1235) | public static <T> T toJavaObject(JSON json, Class<T> clazz) {
method toJavaObject (line 1242) | public <T> T toJavaObject(Class<T> clazz) {
method toJavaObject (line 1253) | public <T> T toJavaObject(Type type) {
method toJavaObject (line 1260) | public <T> T toJavaObject(TypeReference typeReference) {
method allocateBytes (line 1266) | private static byte[] allocateBytes(int length) {
method allocateChars (line 1284) | private static char[] allocateChars(int length) {
method isValid (line 1304) | public static boolean isValid(String str) {
method isValidObject (line 1348) | public static boolean isValidObject(String str) {
method isValidArray (line 1376) | public static boolean isValidArray(String str) {
method handleResovleTask (line 1397) | public static <T> void handleResovleTask(DefaultJSONParser parser, T v...
method addMixInAnnotations (line 1401) | public static void addMixInAnnotations(Type target, Type mixinSource) {
method removeMixInAnnotations (line 1407) | public static void removeMixInAnnotations(Type target) {
method clearMixInAnnotations (line 1413) | public static void clearMixInAnnotations() {
method getMixInAnnotations (line 1417) | public static Type getMixInAnnotations(Type target) {
FILE: src/main/java/com/alibaba/fastjson/JSONArray.java
class JSONArray (line 46) | public class JSONArray extends JSON implements List<Object>, Cloneable, ...
method JSONArray (line 53) | public JSONArray(){
method JSONArray (line 57) | public JSONArray(List<Object> list){
method JSONArray (line 64) | public JSONArray(int initialCapacity){
method getRelatedArray (line 72) | public Object getRelatedArray() {
method setRelatedArray (line 76) | public void setRelatedArray(Object relatedArray) {
method getComponentType (line 80) | public Type getComponentType() {
method setComponentType (line 84) | public void setComponentType(Type componentType) {
method size (line 88) | public int size() {
method isEmpty (line 92) | public boolean isEmpty() {
method contains (line 96) | public boolean contains(Object o) {
method iterator (line 100) | public Iterator<Object> iterator() {
method toArray (line 104) | public Object[] toArray() {
method toArray (line 108) | public <T> T[] toArray(T[] a) {
method add (line 112) | public boolean add(Object e) {
method fluentAdd (line 116) | public JSONArray fluentAdd(Object e) {
method remove (line 121) | public boolean remove(Object o) {
method fluentRemove (line 125) | public JSONArray fluentRemove(Object o) {
method containsAll (line 130) | public boolean containsAll(Collection<?> c) {
method addAll (line 134) | public boolean addAll(Collection<?> c) {
method fluentAddAll (line 138) | public JSONArray fluentAddAll(Collection<?> c) {
method addAll (line 143) | public boolean addAll(int index, Collection<?> c) {
method fluentAddAll (line 147) | public JSONArray fluentAddAll(int index, Collection<?> c) {
method removeAll (line 152) | public boolean removeAll(Collection<?> c) {
method fluentRemoveAll (line 156) | public JSONArray fluentRemoveAll(Collection<?> c) {
method retainAll (line 161) | public boolean retainAll(Collection<?> c) {
method fluentRetainAll (line 165) | public JSONArray fluentRetainAll(Collection<?> c) {
method clear (line 170) | public void clear() {
method fluentClear (line 174) | public JSONArray fluentClear() {
method set (line 179) | public Object set(int index, Object element) {
method fluentSet (line 196) | public JSONArray fluentSet(int index, Object element) {
method add (line 201) | public void add(int index, Object element) {
method fluentAdd (line 205) | public JSONArray fluentAdd(int index, Object element) {
method remove (line 210) | public Object remove(int index) {
method fluentRemove (line 214) | public JSONArray fluentRemove(int index) {
method indexOf (line 219) | public int indexOf(Object o) {
method lastIndexOf (line 223) | public int lastIndexOf(Object o) {
method listIterator (line 227) | public ListIterator<Object> listIterator() {
method listIterator (line 231) | public ListIterator<Object> listIterator(int index) {
method subList (line 235) | public List<Object> subList(int fromIndex, int toIndex) {
method get (line 239) | public Object get(int index) {
method getJSONObject (line 243) | public JSONObject getJSONObject(int index) {
method getJSONArray (line 257) | public JSONArray getJSONArray(int index) {
method getObject (line 271) | public <T> T getObject(int index, Class<T> clazz) {
method getObject (line 276) | public <T> T getObject(int index, Type type) {
method getBoolean (line 286) | public Boolean getBoolean(int index) {
method getBooleanValue (line 296) | public boolean getBooleanValue(int index) {
method getByte (line 306) | public Byte getByte(int index) {
method getByteValue (line 312) | public byte getByteValue(int index) {
method getShort (line 323) | public Short getShort(int index) {
method getShortValue (line 329) | public short getShortValue(int index) {
method getInteger (line 340) | public Integer getInteger(int index) {
method getIntValue (line 346) | public int getIntValue(int index) {
method getLong (line 357) | public Long getLong(int index) {
method getLongValue (line 363) | public long getLongValue(int index) {
method getFloat (line 374) | public Float getFloat(int index) {
method getFloatValue (line 380) | public float getFloatValue(int index) {
method getDouble (line 391) | public Double getDouble(int index) {
method getDoubleValue (line 397) | public double getDoubleValue(int index) {
method getBigDecimal (line 408) | public BigDecimal getBigDecimal(int index) {
method getBigInteger (line 414) | public BigInteger getBigInteger(int index) {
method getString (line 420) | public String getString(int index) {
method getDate (line 426) | public java.util.Date getDate(int index) {
method getSqlDate (line 432) | public Object getSqlDate(int index) {
method getTimestamp (line 438) | public Object getTimestamp(int index) {
method toJavaList (line 447) | public <T> List<T> toJavaList(Class<T> clazz) {
method clone (line 460) | @Override
method equals (line 465) | public boolean equals(Object obj) {
method hashCode (line 477) | public int hashCode() {
FILE: src/main/java/com/alibaba/fastjson/JSONAware.java
type JSONAware (line 23) | public interface JSONAware {
method toJSONString (line 28) | String toJSONString();
FILE: src/main/java/com/alibaba/fastjson/JSONException.java
class JSONException (line 21) | @SuppressWarnings("serial")
method JSONException (line 24) | public JSONException() {
method JSONException (line 28) | public JSONException(String message) {
method JSONException (line 32) | public JSONException(String message, Throwable cause) {
FILE: src/main/java/com/alibaba/fastjson/JSONObject.java
class JSONObject (line 49) | public class JSONObject extends JSON implements Map<String, Object>, Clo...
method JSONObject (line 56) | public JSONObject(){
method JSONObject (line 60) | public JSONObject(Map<String, Object> map){
method JSONObject (line 67) | public JSONObject(boolean ordered){
method JSONObject (line 71) | public JSONObject(int initialCapacity){
method JSONObject (line 75) | public JSONObject(int initialCapacity, boolean ordered){
method size (line 83) | public int size() {
method isEmpty (line 87) | public boolean isEmpty() {
method containsKey (line 91) | public boolean containsKey(Object key) {
method containsValue (line 105) | public boolean containsValue(Object value) {
method get (line 109) | public Object get(Object key) {
method getOrDefault (line 125) | public Object getOrDefault(Object key, Object defaultValue) {
method getJSONObject (line 130) | public JSONObject getJSONObject(String key) {
method getJSONArray (line 148) | public JSONArray getJSONArray(String key) {
method getObject (line 166) | public <T> T getObject(String key, Class<T> clazz) {
method getObject (line 171) | public <T> T getObject(String key, Type type) {
method getObject (line 176) | public <T> T getObject(String key, TypeReference typeReference) {
method getBoolean (line 184) | public Boolean getBoolean(String key) {
method getBytes (line 194) | public byte[] getBytes(String key) {
method getBooleanValue (line 204) | public boolean getBooleanValue(String key) {
method getByte (line 215) | public Byte getByte(String key) {
method getByteValue (line 221) | public byte getByteValue(String key) {
method getShort (line 232) | public Short getShort(String key) {
method getShortValue (line 238) | public short getShortValue(String key) {
method getInteger (line 249) | public Integer getInteger(String key) {
method getIntValue (line 255) | public int getIntValue(String key) {
method getLong (line 266) | public Long getLong(String key) {
method getLongValue (line 272) | public long getLongValue(String key) {
method getFloat (line 283) | public Float getFloat(String key) {
method getFloatValue (line 289) | public float getFloatValue(String key) {
method getDouble (line 300) | public Double getDouble(String key) {
method getDoubleValue (line 306) | public double getDoubleValue(String key) {
method getBigDecimal (line 317) | public BigDecimal getBigDecimal(String key) {
method getBigInteger (line 323) | public BigInteger getBigInteger(String key) {
method getString (line 329) | public String getString(String key) {
method getDate (line 339) | public Date getDate(String key) {
method getSqlDate (line 345) | public Object getSqlDate(String key) {
method getTimestamp (line 351) | public Object getTimestamp(String key) {
method put (line 357) | public Object put(String key, Object value) {
method fluentPut (line 361) | public JSONObject fluentPut(String key, Object value) {
method putAll (line 366) | public void putAll(Map<? extends String, ?> m) {
method fluentPutAll (line 370) | public JSONObject fluentPutAll(Map<? extends String, ?> m) {
method clear (line 375) | public void clear() {
method fluentClear (line 379) | public JSONObject fluentClear() {
method remove (line 384) | public Object remove(Object key) {
method fluentRemove (line 388) | public JSONObject fluentRemove(Object key) {
method keySet (line 393) | public Set<String> keySet() {
method values (line 397) | public Collection<Object> values() {
method entrySet (line 401) | public Set<Map.Entry<String, Object>> entrySet() {
method clone (line 405) | @Override
method equals (line 413) | @Override
method hashCode (line 426) | @Override
method invoke (line 431) | public Object invoke(Object proxy, Method method, Object[] args) throw...
method getInnerMap (line 513) | public Map<String, Object> getInnerMap() {
method toJavaObject (line 517) | public <T> T toJavaObject(Class<T> clazz) {
method toJavaObject (line 529) | public <T> T toJavaObject(Class<T> clazz, ParserConfig config, int fea...
FILE: src/main/java/com/alibaba/fastjson/JSONPObject.java
class JSONPObject (line 13) | public class JSONPObject implements JSONSerializable {
method JSONPObject (line 19) | public JSONPObject() {
method JSONPObject (line 23) | public JSONPObject(String function) {
method getFunction (line 27) | public String getFunction() {
method setFunction (line 31) | public void setFunction(String function) {
method getParameters (line 35) | public List<Object> getParameters() {
method addParameter (line 39) | public void addParameter(Object parameter) {
method toJSONString (line 43) | public String toJSONString() {
method write (line 47) | public void write(JSONSerializer serializer, Object fieldName, Type fi...
method toString (line 67) | public String toString() {
FILE: src/main/java/com/alibaba/fastjson/JSONPatch.java
class JSONPatch (line 8) | public class JSONPatch {
method apply (line 9) | public static String apply(String original, String patch) {
method apply (line 16) | public static Object apply(Object object, String patch) {
method isObject (line 63) | private static boolean isObject(String patch) {
class Operation (line 79) | @JSONType(orders = {"op", "from", "path", "value"})
type OperationType (line 88) | public enum OperationType {
FILE: src/main/java/com/alibaba/fastjson/JSONPath.java
class JSONPath (line 47) | public class JSONPath implements JSONAware {
method JSONPath (line 59) | public JSONPath(String path){
method JSONPath (line 63) | public JSONPath(String path, boolean ignoreNullValue){
method JSONPath (line 67) | public JSONPath(String path, SerializeConfig serializeConfig, ParserCo...
method init (line 78) | protected void init() {
method isRef (line 92) | public boolean isRef() {
method eval (line 111) | public Object eval(Object rootObject) {
method eval (line 133) | public <T> T eval(Object rootObject, Type clazz, ParserConfig parserCo...
method eval (line 144) | public <T> T eval(Object rootObject, Type clazz) {
method extract (line 148) | public Object extract(DefaultJSONParser parser) {
class Context (line 219) | private static class Context {
method Context (line 224) | public Context(Context parent, boolean eval) {
method contains (line 230) | public boolean contains(Object rootObject) {
method containsValue (line 253) | @SuppressWarnings("rawtypes")
method size (line 280) | public int size(Object rootObject) {
method keySet (line 301) | public Set<?> keySet(Object rootObject) {
method patchAdd (line 316) | public void patchAdd(Object rootObject, Object value, boolean replace) {
method arrayAdd (line 382) | @SuppressWarnings({ "rawtypes", "unchecked" })
method remove (line 449) | public boolean remove(Object rootObject) {
method set (line 547) | public boolean set(Object rootObject, Object value) {
method set (line 551) | public boolean set(Object rootObject, Object value, boolean p) {
method eval (line 640) | public static Object eval(Object rootObject, String path) {
method eval (line 645) | public static Object eval(Object rootObject, String path, boolean igno...
method size (line 650) | public static int size(Object rootObject, String path) {
method keySet (line 663) | public static Set<?> keySet(Object rootObject, String path) {
method contains (line 669) | public static boolean contains(Object rootObject, String path) {
method containsValue (line 678) | public static boolean containsValue(Object rootObject, String path, Ob...
method arrayAdd (line 683) | public static void arrayAdd(Object rootObject, String path, Object... ...
method set (line 688) | public static boolean set(Object rootObject, String path, Object value) {
method remove (line 693) | public static boolean remove(Object root, String path) {
method compile (line 698) | public static JSONPath compile(String path) {
method compile (line 714) | public static JSONPath compile(String path, boolean ignoreNullValue) {
method read (line 736) | public static Object read(String json, String path) {
method read (line 751) | public static <T> T read(String json, String path, Type clazz, ParserC...
method read (line 762) | public static <T> T read(String json, String path, Type clazz) {
method extract (line 772) | public static Object extract(String json, String path, ParserConfig co...
method extract (line 781) | public static Object extract(String json, String path) {
method paths (line 785) | public static Map<String, Object> paths(Object javaObject) {
method paths (line 789) | public static Map<String, Object> paths(Object javaObject, SerializeCo...
method paths (line 797) | private static void paths(Map<Object, String> values, Map<String, Obje...
method getPath (line 891) | public String getPath() {
class JSONPathParser (line 895) | static class JSONPathParser {
method JSONPathParser (line 905) | public JSONPathParser(String path){
method next (line 910) | void next() {
method getNextChar (line 914) | char getNextChar() {
method isEOF (line 918) | boolean isEOF() {
method readSegement (line 922) | Segment readSegement() {
method skipWhitespace (line 1035) | public final void skipWhitespace() {
method parseArrayAccess (line 1046) | Segment parseArrayAccess(boolean acceptBracket) {
method parseArrayAccessFilter (line 1054) | Object parseArrayAccessFilter(boolean acceptBracket) {
method filterRest (line 1744) | Filter filterRest(Filter filter) {
method readLongValue (line 1771) | protected long readLongValue() {
method readDoubleValue (line 1787) | protected double readDoubleValue(long longValue) {
method readValue (line 1802) | protected Object readValue() {
method isDigitFirst (line 1826) | static boolean isDigitFirst(char ch) {
method readOp (line 1830) | protected Operator readOp() {
method readName (line 1903) | String readName() {
method readString (line 1937) | String readString() {
method accept (line 1953) | void accept(char expect) {
method explain (line 1967) | public Segment[] explain() {
method buildArraySegement (line 2004) | Segment buildArraySegement(String indexText) {
type Segment (line 2095) | interface Segment {
method eval (line 2097) | Object eval(JSONPath path, Object rootObject, Object currentObject);
method extract (line 2098) | void extract(JSONPath path, DefaultJSONParser parser, Context context);
class SizeSegment (line 2102) | static class SizeSegment implements Segment {
method eval (line 2104) | public Integer eval(JSONPath path, Object rootObject, Object current...
method extract (line 2108) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
class TypeSegment (line 2114) | static class TypeSegment implements Segment {
method eval (line 2117) | public String eval(JSONPath path, Object rootObject, Object currentO...
method extract (line 2143) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
class FloorSegment (line 2148) | static class FloorSegment implements Segment {
method eval (line 2150) | public Object eval(JSONPath path, Object rootObject, Object currentO...
method floor (line 2166) | private static Object floor(Object item) {
method extract (line 2195) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
class MaxSegment (line 2200) | static class MaxSegment implements Segment {
method eval (line 2204) | public Object eval(JSONPath path, Object rootObject, Object currentO...
method extract (line 2227) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
class MinSegment (line 2232) | static class MinSegment implements Segment {
method eval (line 2235) | public Object eval(JSONPath path, Object rootObject, Object currentO...
method extract (line 2258) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
method compare (line 2263) | static int compare(Object a, Object b) {
class KeySetSegment (line 2322) | static class KeySetSegment implements Segment {
method eval (line 2326) | public Object eval(JSONPath path, Object rootObject, Object currentO...
method extract (line 2330) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
class PropertySegment (line 2335) | static class PropertySegment implements Segment {
method PropertySegment (line 2341) | public PropertySegment(String propertyName, boolean deep){
method eval (line 2347) | public Object eval(JSONPath path, Object rootObject, Object currentO...
method extract (line 2358) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
method setValue (line 2537) | public void setValue(JSONPath path, Object parent, Object value) {
method remove (line 2545) | public boolean remove(JSONPath path, Object parent) {
class MultiPropertySegment (line 2550) | static class MultiPropertySegment implements Segment {
method MultiPropertySegment (line 2555) | public MultiPropertySegment(String[] propertyNames){
method eval (line 2563) | public Object eval(JSONPath path, Object rootObject, Object currentO...
method extract (line 2574) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
class WildCardSegment (line 2674) | static class WildCardSegment implements Segment {
method WildCardSegment (line 2678) | private WildCardSegment(boolean deep, boolean objectOnly) {
method eval (line 2687) | public Object eval(JSONPath path, Object rootObject, Object currentO...
method extract (line 2697) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
class ArrayAccessSegment (line 2727) | static class ArrayAccessSegment implements Segment {
method ArrayAccessSegment (line 2731) | public ArrayAccessSegment(int index){
method eval (line 2735) | public Object eval(JSONPath path, Object rootObject, Object currentO...
method setValue (line 2739) | public boolean setValue(JSONPath path, Object currentObject, Object ...
method remove (line 2743) | public boolean remove(JSONPath path, Object currentObject) {
method extract (line 2747) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
class MultiIndexSegment (line 2757) | static class MultiIndexSegment implements Segment {
method MultiIndexSegment (line 2761) | public MultiIndexSegment(int[] indexes){
method eval (line 2765) | public Object eval(JSONPath path, Object rootObject, Object currentO...
method extract (line 2774) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
class RangeSegment (line 2798) | static class RangeSegment implements Segment {
method RangeSegment (line 2803) | public RangeSegment(int start, int end, int step){
method eval (line 2809) | public Object eval(JSONPath path, Object rootObject, Object currentO...
method extract (line 2827) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
class NotNullSegement (line 2832) | static class NotNullSegement extends PropertyFilter {
method NotNullSegement (line 2833) | public NotNullSegement(String propertyName, boolean function){
method apply (line 2837) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class NullSegement (line 2842) | static class NullSegement extends PropertyFilter {
method NullSegement (line 2843) | public NullSegement(String propertyName, boolean function){
method apply (line 2847) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class ValueSegment (line 2854) | static class ValueSegment extends PropertyFilter {
method ValueSegment (line 2858) | public ValueSegment(String propertyName,boolean function, Object val...
method apply (line 2868) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class IntInSegement (line 2878) | static class IntInSegement extends PropertyFilter {
method IntInSegement (line 2882) | public IntInSegement(String propertyName, boolean function, long[] v...
method apply (line 2888) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class IntBetweenSegement (line 2908) | static class IntBetweenSegement extends PropertyFilter {
method IntBetweenSegement (line 2913) | public IntBetweenSegement(String propertyName, boolean function, lon...
method apply (line 2920) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class IntObjInSegement (line 2938) | static class IntObjInSegement extends PropertyFilter {
method IntObjInSegement (line 2942) | public IntObjInSegement(String propertyName, boolean function, Long[...
method apply (line 2948) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class StringInSegement (line 2978) | static class StringInSegement extends PropertyFilter {
method StringInSegement (line 2982) | public StringInSegement(String propertyName, boolean function, Strin...
method apply (line 2988) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class IntOpSegement (line 3003) | static class IntOpSegement extends PropertyFilter {
method IntOpSegement (line 3011) | public IntOpSegement(String propertyName, boolean function, long val...
method apply (line 3017) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class PropertyFilter (line 3121) | static abstract class PropertyFilter implements Filter {
method PropertyFilter (line 3129) | protected PropertyFilter(String propertyName, boolean function) {
method get (line 3145) | protected Object get(JSONPath path, Object rootObject, Object curren...
class DoubleOpSegement (line 3153) | static class DoubleOpSegement extends PropertyFilter {
method DoubleOpSegement (line 3157) | public DoubleOpSegement(String propertyName, boolean function, doubl...
method apply (line 3163) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class RefOpSegement (line 3195) | static class RefOpSegement extends PropertyFilter {
method RefOpSegement (line 3199) | public RefOpSegement(String propertyName, boolean function, Segment ...
method apply (line 3205) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class MatchSegement (line 3265) | static class MatchSegement extends PropertyFilter {
method MatchSegement (line 3272) | public MatchSegement(
method apply (line 3304) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class RlikeSegement (line 3345) | static class RlikeSegement extends PropertyFilter {
method RlikeSegement (line 3349) | public RlikeSegement(String propertyName, boolean function, String p...
method apply (line 3355) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class StringOpSegement (line 3374) | static class StringOpSegement extends PropertyFilter {
method StringOpSegement (line 3378) | public StringOpSegement(String propertyName, boolean function, Strin...
method apply (line 3384) | public boolean apply(JSONPath path, Object rootObject, Object curren...
class RegMatchSegement (line 3412) | static class RegMatchSegement extends PropertyFilter {
method RegMatchSegement (line 3416) | public RegMatchSegement(String propertyName, boolean function, Patte...
method apply (line 3422) | public boolean apply(JSONPath path, Object rootObject, Object curren...
type Operator (line 3435) | enum Operator {
class FilterSegment (line 3439) | static public class FilterSegment implements Segment {
method FilterSegment (line 3443) | public FilterSegment(Filter filter){
method eval (line 3448) | @SuppressWarnings("rawtypes")
method extract (line 3476) | public void extract(JSONPath path, DefaultJSONParser parser, Context...
method remove (line 3481) | public boolean remove(JSONPath path, Object rootObject, Object curre...
type Filter (line 3503) | interface Filter {
method apply (line 3504) | boolean apply(JSONPath path, Object rootObject, Object currentObject...
class FilterGroup (line 3507) | static class FilterGroup implements Filter {
method FilterGroup (line 3511) | public FilterGroup(Filter left, Filter right, boolean and) {
method apply (line 3518) | public boolean apply(JSONPath path, Object rootObject, Object curren...
method getArrayItem (line 3537) | @SuppressWarnings("rawtypes")
method setArrayItem (line 3603) | @SuppressWarnings({ "unchecked", "rawtypes" })
method removeArrayItem (line 3635) | @SuppressWarnings("rawtypes")
method getPropertyValues (line 3660) | @SuppressWarnings({ "rawtypes", "unchecked" })
method deepGetObjects (line 3690) | protected void deepGetObjects(final Object currentObject, List<Object>...
method deepGetPropertyValues (line 3725) | protected void deepGetPropertyValues(final Object currentObject, List<...
method eq (line 3758) | static boolean eq(Object a, Object b) {
method eqNotNull (line 3782) | @SuppressWarnings("rawtypes")
method isDouble (line 3832) | protected static boolean isDouble(Class<?> clazzA) {
method isInt (line 3836) | protected static boolean isInt(Class<?> clazzA) {
method getPropertyValue (line 3843) | protected Object getPropertyValue(Object currentObject, String propert...
method deepScan (line 3999) | @SuppressWarnings("rawtypes")
method deepSet (line 4080) | protected void deepSet(final Object currentObject, final String proper...
method setPropertyValue (line 4133) | @SuppressWarnings({ "unchecked", "rawtypes" })
method removePropertyValue (line 4174) | @SuppressWarnings({"rawtypes" })
method getJavaBeanSerializer (line 4225) | protected JavaBeanSerializer getJavaBeanSerializer(final Class<?> curr...
method getJavaBeanDeserializer (line 4236) | protected JavaBeanDeserializer getJavaBeanDeserializer(final Class<?> ...
method evalSize (line 4247) | @SuppressWarnings("rawtypes")
method evalKeySet (line 4289) | @SuppressWarnings({"rawtypes", "unchecked"})
method toJSONString (line 4317) | public String toJSONString() {
method reserveToArray (line 4321) | public static Object reserveToArray(Object object, String... paths) {
method reserveToObject (line 4339) | public static Object reserveToObject(Object object, String... paths) {
FILE: src/main/java/com/alibaba/fastjson/JSONPathException.java
class JSONPathException (line 3) | @SuppressWarnings("serial")
method JSONPathException (line 6) | public JSONPathException(String message){
method JSONPathException (line 10) | public JSONPathException(String message, Throwable cause){
FILE: src/main/java/com/alibaba/fastjson/JSONReader.java
class JSONReader (line 23) | public class JSONReader implements Closeable {
method JSONReader (line 29) | public JSONReader(Reader reader){
method JSONReader (line 33) | public JSONReader(Reader reader, Feature... features){
method JSONReader (line 40) | public JSONReader(JSONLexer lexer){
method JSONReader (line 44) | public JSONReader(DefaultJSONParser parser){
method setTimzeZone (line 48) | public void setTimzeZone(TimeZone timezone) {
method setLocale (line 52) | public void setLocale(Locale locale) {
method config (line 56) | public void config(Feature feature, boolean state) {
method getLocal (line 60) | public Locale getLocal() {
method getTimzeZone (line 64) | public TimeZone getTimzeZone() {
method startObject (line 68) | public void startObject() {
method endObject (line 87) | public void endObject() {
method startArray (line 92) | public void startArray() {
method endArray (line 103) | public void endArray() {
method startStructure (line 108) | private void startStructure() {
method endStructure (line 126) | private void endStructure() {
method hasNext (line 155) | public boolean hasNext() {
method peek (line 174) | public int peek() {
method close (line 178) | public void close() {
method readInteger (line 182) | public Integer readInteger() {
method readLong (line 195) | public Long readLong() {
method readString (line 208) | public String readString() {
method readObject (line 227) | public <T> T readObject(TypeReference<T> typeRef) {
method readObject (line 231) | public <T> T readObject(Type type) {
method readObject (line 242) | public <T> T readObject(Class<T> type) {
method readObject (line 254) | public void readObject(Object object) {
method readObject (line 265) | public Object readObject() {
method readObject (line 286) | @SuppressWarnings("rawtypes")
method readBefore (line 298) | private void readBefore() {
method readAfter (line 320) | private void readAfter() {
FILE: src/main/java/com/alibaba/fastjson/JSONStreamAware.java
type JSONStreamAware (line 25) | public interface JSONStreamAware {
method writeJSONString (line 30) | void writeJSONString(Appendable out) throws IOException;
FILE: src/main/java/com/alibaba/fastjson/JSONStreamContext.java
class JSONStreamContext (line 3) | class JSONStreamContext {
method JSONStreamContext (line 15) | public JSONStreamContext(JSONStreamContext parent, int state){
FILE: src/main/java/com/alibaba/fastjson/JSONValidator.java
class JSONValidator (line 8) | public abstract class JSONValidator implements Cloneable, Closeable {
type Type (line 9) | public enum Type {
method fromUtf8 (line 22) | public static JSONValidator fromUtf8(byte[] jsonBytes) {
method fromUtf8 (line 26) | public static JSONValidator fromUtf8(InputStream is) {
method from (line 30) | public static JSONValidator from(String jsonStr) {
method from (line 34) | public static JSONValidator from(Reader r) {
method isSupportMultiValue (line 38) | public boolean isSupportMultiValue() {
method setSupportMultiValue (line 42) | public JSONValidator setSupportMultiValue(boolean supportMultiValue) {
method getType (line 47) | public Type getType() {
method next (line 55) | abstract void next();
method validate (line 57) | public boolean validate() {
method close (line 91) | public void close() throws IOException {
method any (line 95) | private boolean any() {
method fieldName (line 332) | protected void fieldName()
method string (line 360) | protected boolean string()
method skipWhiteSpace (line 390) | void skipWhiteSpace() {
method isWhiteSpace (line 396) | static final boolean isWhiteSpace(char ch) {
class UTF8Validator (line 406) | static class UTF8Validator extends JSONValidator {
method UTF8Validator (line 409) | public UTF8Validator(byte[] bytes) {
method next (line 415) | void next() {
class UTF8InputStreamValidator (line 427) | static class UTF8InputStreamValidator extends JSONValidator {
method UTF8InputStreamValidator (line 435) | public UTF8InputStreamValidator(InputStream is) {
method next (line 448) | void next() {
method close (line 484) | public void close() throws IOException {
class UTF16Validator (line 490) | static class UTF16Validator extends JSONValidator {
method UTF16Validator (line 493) | public UTF16Validator(String str) {
method next (line 499) | void next() {
method fieldName (line 510) | protected final void fieldName()
class ReaderValidator (line 554) | static class ReaderValidator extends JSONValidator {
method ReaderValidator (line 563) | ReaderValidator(Reader r) {
method next (line 576) | void next() {
method close (line 612) | public void close() throws IOException {
FILE: src/main/java/com/alibaba/fastjson/JSONWriter.java
class JSONWriter (line 13) | public class JSONWriter implements Closeable, Flushable {
method JSONWriter (line 21) | public JSONWriter(Writer out){
method config (line 26) | public void config(SerializerFeature feature, boolean state) {
method startObject (line 30) | public void startObject() {
method endObject (line 38) | public void endObject() {
method writeKey (line 43) | public void writeKey(String key) {
method writeValue (line 47) | public void writeValue(Object object) {
method writeObject (line 51) | public void writeObject(String object) {
method writeObject (line 59) | public void writeObject(Object object) {
method startArray (line 65) | public void startArray() {
method beginStructure (line 74) | private void beginStructure() {
method endArray (line 92) | public void endArray() {
method endStructure (line 97) | private void endStructure() {
method beforeWrite (line 125) | private void beforeWrite() {
method afterWrite (line 148) | private void afterWrite() {
method flush (line 177) | public void flush() throws IOException {
method close (line 181) | public void close() throws IOException {
method writeStartObject (line 185) | @Deprecated
method writeEndObject (line 190) | @Deprecated
method writeStartArray (line 195) | @Deprecated
method writeEndArray (line 200) | @Deprecated
FILE: src/main/java/com/alibaba/fastjson/PropertyNamingStrategy.java
type PropertyNamingStrategy (line 6) | public enum PropertyNamingStrategy {
method translate (line 14) | public String translate(String propertyName) {
FILE: src/main/java/com/alibaba/fastjson/TypeReference.java
class TypeReference (line 29) | public class TypeReference<T> {
method TypeReference (line 43) | protected TypeReference(){
method TypeReference (line 61) | protected TypeReference(Type... actualTypeArguments){
method intern (line 97) | public static Type intern(ParameterizedTypeImpl type) {
method handlerParameterizedType (line 107) | private Type handlerParameterizedType(ParameterizedType type, Type[] a...
method getType (line 136) | public Type getType() {
FILE: src/main/java/com/alibaba/fastjson/asm/ByteVector.java
class ByteVector (line 38) | public class ByteVector {
method ByteVector (line 53) | public ByteVector() {
method ByteVector (line 62) | public ByteVector(final int initialSize) {
method putByte (line 73) | public ByteVector putByte(final int b) {
method put11 (line 91) | ByteVector put11(final int b1, final int b2) {
method putShort (line 110) | public ByteVector putShort(final int s) {
method put12 (line 130) | public ByteVector put12(final int b, final int s) {
method putInt (line 150) | public ByteVector putInt(final int i) {
method putUTF8 (line 171) | public ByteVector putUTF8(final String s) {
method putByteArray (line 208) | public ByteVector putByteArray(final byte[] b, final int off, final in...
method enlarge (line 225) | private void enlarge(final int size) {
FILE: src/main/java/com/alibaba/fastjson/asm/ClassReader.java
class ClassReader (line 10) | public class ClassReader {
method ClassReader (line 18) | public ClassReader(InputStream is, boolean readAnnotations) throws IOE...
method accept (line 84) | public void accept(final TypeCollector classVisitor) {
method getAttributes (line 163) | private int getAttributes() {
method readMethod (line 184) | private int readMethod(TypeCollector classVisitor, char[] c, int u) {
method readUnsignedShort (line 277) | private int readUnsignedShort(final int index) {
method readInt (line 282) | private int readInt(final int index) {
method readUTF8 (line 288) | private String readUTF8(int index, final char[] buf) {
method readUTF (line 298) | private String readUTF(int index, final int utfLen, final char[] buf) {
FILE: src/main/java/com/alibaba/fastjson/asm/ClassWriter.java
class ClassWriter (line 36) | public class ClassWriter {
method ClassWriter (line 146) | public ClassWriter(){
method ClassWriter (line 150) | private ClassWriter(final int flags){
method visit (line 164) | public void visit(final int version, final int access, final String na...
method toByteArray (line 188) | public byte[] toByteArray() {
method newConstItem (line 246) | Item newConstItem(final Object cst) {
method newUTF8 (line 268) | public int newUTF8(final String value) {
method newClassItem (line 279) | public Item newClassItem(final String value) {
method newFieldItem (line 299) | Item newFieldItem(final String owner, final String name, final String ...
method newMethodItem (line 322) | Item newMethodItem(final String owner, final String name, final String...
method newString (line 336) | private Item newString(final String value) {
method newNameTypeItem (line 347) | public Item newNameTypeItem(final String name, final String desc) {
method get (line 361) | private Item get(final Item key) {
method put (line 369) | private void put(final Item i) {
FILE: src/main/java/com/alibaba/fastjson/asm/FieldWriter.java
class FieldWriter (line 37) | public final class FieldWriter {
method FieldWriter (line 60) | public FieldWriter(final ClassWriter cw, final int access, final Strin...
method visitEnd (line 76) | public void visitEnd() {
method getSize (line 88) | int getSize() {
method put (line 97) | void put(final ByteVector out) {
FILE: src/main/java/com/alibaba/fastjson/asm/Item.java
class Item (line 37) | final class Item {
method Item (line 84) | Item(){
method Item (line 93) | Item(final int index, final Item i){
method set (line 112) | void set(final int type, final String strVal1, final String strVal2, f...
method set (line 140) | void set(final int intVal) {
method isEqualTo (line 153) | boolean isEqualTo(final Item i) {
FILE: src/main/java/com/alibaba/fastjson/asm/Label.java
class Label (line 40) | public class Label {
method Label (line 149) | public Label(){
method put (line 168) | void put(final MethodWriter owner, final ByteVector out, final int sou...
method addReference (line 195) | private void addReference(final int sourcePosition, final int referenc...
method resolve (line 223) | void resolve(final MethodWriter owner, final int position, final byte[...
FILE: src/main/java/com/alibaba/fastjson/asm/MethodCollector.java
class MethodCollector (line 6) | public class MethodCollector {
method MethodCollector (line 18) | protected MethodCollector(int ignoreCount, int paramCount) {
method visitLocalVariable (line 27) | protected void visitLocalVariable(String name, int index) {
method getResult (line 38) | protected String getResult() {
FILE: src/main/java/com/alibaba/fastjson/asm/MethodVisitor.java
type MethodVisitor (line 36) | public interface MethodVisitor {
method visitInsn (line 58) | void visitInsn(int opcode);
method visitIntInsn (line 60) | void visitIntInsn(int opcode, int operand);
method visitVarInsn (line 70) | void visitVarInsn(int opcode, int var);
method visitTypeInsn (line 81) | void visitTypeInsn(int opcode, String type);
method visitFieldInsn (line 93) | void visitFieldInsn(int opcode, String owner, String name, String desc);
method visitMethodInsn (line 95) | void visitMethodInsn(int opcode, String owner, String name, String desc);
method visitJumpInsn (line 106) | void visitJumpInsn(int opcode, Label label);
method visitLabel (line 113) | void visitLabel(Label label);
method visitLdcInsn (line 126) | void visitLdcInsn(Object cst);
method visitIincInsn (line 134) | void visitIincInsn(int var, int increment);
method visitMaxs (line 146) | void visitMaxs(int maxStack, int maxLocals);
method visitEnd (line 152) | void visitEnd();
FILE: src/main/java/com/alibaba/fastjson/asm/MethodWriter.java
class MethodWriter (line 36) | public class MethodWriter implements MethodVisitor {
method MethodWriter (line 102) | public MethodWriter(final ClassWriter cw, final int access, final Stri...
method visitInsn (line 127) | public void visitInsn(final int opcode) {
method visitIntInsn (line 134) | public void visitIntInsn(final int opcode, final int operand) {
method visitVarInsn (line 144) | public void visitVarInsn(final int opcode, final int var) {
method visitTypeInsn (line 164) | public void visitTypeInsn(final int opcode, final String type) {
method visitFieldInsn (line 171) | public void visitFieldInsn(final int opcode, final String owner, final...
method visitMethodInsn (line 178) | public void visitMethodInsn(final int opcode, final String owner, fina...
method visitJumpInsn (line 195) | public void visitJumpInsn(final int opcode, final Label label) {
method visitLabel (line 212) | public void visitLabel(final Label label) {
method visitLdcInsn (line 217) | public void visitLdcInsn(final Object cst) {
method visitIincInsn (line 231) | public void visitIincInsn(final int var, final int increment) {
method visitMaxs (line 240) | public void visitMaxs(final int maxStack, final int maxLocals) {
method visitEnd (line 245) | public void visitEnd() {
method getSize (line 265) | final int getSize() {
method put (line 283) | final void put(final ByteVector out) {
FILE: src/main/java/com/alibaba/fastjson/asm/Opcodes.java
type Opcodes (line 41) | public interface Opcodes {
FILE: src/main/java/com/alibaba/fastjson/asm/Type.java
class Type (line 38) | public class Type {
method Type (line 114) | private Type(final int sort, final char[] buf, final int off, final in...
method getType (line 127) | public static Type getType(final String typeDescriptor) {
method getArgumentsAndReturnSizes (line 131) | public static int getArgumentsAndReturnSizes(final String desc) {
method getType (line 165) | private static Type getType(final char[] buf, final int off) {
method getInternalName (line 208) | public String getInternalName() {
method getDescriptor (line 221) | String getDescriptor() {
method getDimensions (line 225) | private int getDimensions() {
method getArgumentTypes (line 233) | static Type[] getArgumentTypes(final String methodDescriptor) {
method getClassName (line 261) | protected String getClassName() {
FILE: src/main/java/com/alibaba/fastjson/asm/TypeCollector.java
class TypeCollector (line 9) | public class TypeCollector {
method TypeCollector (line 33) | public TypeCollector(String methodName, Class<?>[] parameterTypes) {
method visitMethod (line 39) | protected MethodCollector visitMethod(int access, String name, String ...
method visitAnnotation (line 71) | public void visitAnnotation(String desc) {
method correctTypeName (line 77) | private boolean correctTypeName(Type type, String paramTypeName) {
method getParameterNamesForMethod (line 95) | public String[] getParameterNamesForMethod() {
method matched (line 102) | public boolean matched() {
method hasJsonType (line 106) | public boolean hasJsonType() {
FILE: src/main/java/com/alibaba/fastjson/parser/DefaultExtJSONParser.java
class DefaultExtJSONParser (line 22) | @Deprecated
method DefaultExtJSONParser (line 25) | public DefaultExtJSONParser(String input){
method DefaultExtJSONParser (line 29) | public DefaultExtJSONParser(String input, ParserConfig mapping){
method DefaultExtJSONParser (line 33) | public DefaultExtJSONParser(String input, ParserConfig mapping, int fe...
method DefaultExtJSONParser (line 37) | public DefaultExtJSONParser(char[] input, int length, ParserConfig map...
FILE: src/main/java/com/alibaba/fastjson/parser/DefaultJSONParser.java
class DefaultJSONParser (line 40) | public class DefaultJSONParser implements Closeable {
method getDateFomartPattern (line 103) | public String getDateFomartPattern() {
method getDateFormat (line 107) | public DateFormat getDateFormat() {
method setDateFormat (line 115) | public void setDateFormat(String dateFormat) {
method setDateFomrat (line 124) | public void setDateFomrat(DateFormat dateFormat) {
method setDateFormat (line 128) | public void setDateFormat(DateFormat dateFormat) {
method DefaultJSONParser (line 132) | public DefaultJSONParser(String input){
method DefaultJSONParser (line 136) | public DefaultJSONParser(final String input, final ParserConfig config){
method DefaultJSONParser (line 140) | public DefaultJSONParser(final String input, final ParserConfig config...
method DefaultJSONParser (line 144) | public DefaultJSONParser(final char[] input, int length, final ParserC...
method DefaultJSONParser (line 148) | public DefaultJSONParser(final JSONLexer lexer){
method DefaultJSONParser (line 152) | public DefaultJSONParser(final JSONLexer lexer, final ParserConfig con...
method DefaultJSONParser (line 156) | public DefaultJSONParser(final Object input, final JSONLexer lexer, fi...
method getSymbolTable (line 174) | public SymbolTable getSymbolTable() {
method getInput (line 178) | public String getInput() {
method parseObject (line 185) | @SuppressWarnings({ "unchecked", "rawtypes" })
method getConfig (line 655) | public ParserConfig getConfig() {
method setConfig (line 659) | public void setConfig(ParserConfig config) {
method parseObject (line 664) | @SuppressWarnings("unchecked")
method parseObject (line 669) | public <T> T parseObject(Type type) {
method parseObject (line 673) | @SuppressWarnings("unchecked")
method parseArray (line 714) | public <T> List<T> parseArray(Class<T> clazz) {
method parseArray (line 720) | public void parseArray(Class<?> clazz, @SuppressWarnings("rawtypes") C...
method parseArray (line 724) | @SuppressWarnings("rawtypes")
method parseArray (line 729) | @SuppressWarnings({ "unchecked", "rawtypes" })
method parseArray (line 810) | public Object[] parseArray(Type[] types) {
method parseObject (line 928) | public void parseObject(Object object) {
method parseArrayWithType (line 1009) | public Object parseArrayWithType(Type collectionType) {
method acceptType (line 1080) | public void acceptType(String typeName) {
method getResolveStatus (line 1099) | public int getResolveStatus() {
method setResolveStatus (line 1103) | public void setResolveStatus(int resolveStatus) {
method getObject (line 1107) | public Object getObject(String path) {
method checkListResolve (line 1117) | @SuppressWarnings("rawtypes")
method checkMapResolve (line 1136) | @SuppressWarnings("rawtypes")
method parseObject (line 1147) | @SuppressWarnings("rawtypes")
method parseObject (line 1152) | public JSONObject parseObject() {
method parseArray (line 1167) | @SuppressWarnings("rawtypes")
method parseArray (line 1172) | @SuppressWarnings({ "unchecked", "rawtypes" })
method getContext (line 1287) | public ParseContext getContext() {
method getOwnerContext (line 1291) | public ParseContext getOwnerContext() {
method getResolveTaskList (line 1295) | public List<ResolveTask> getResolveTaskList() {
method addResolveTask (line 1302) | public void addResolveTask(ResolveTask task) {
method getLastResolveTask (line 1309) | public ResolveTask getLastResolveTask() {
method getExtraProcessors (line 1313) | public List<ExtraProcessor> getExtraProcessors() {
method getExtraTypeProviders (line 1320) | public List<ExtraTypeProvider> getExtraTypeProviders() {
method getFieldTypeResolver (line 1327) | public FieldTypeResolver getFieldTypeResolver() {
method setFieldTypeResolver (line 1331) | public void setFieldTypeResolver(FieldTypeResolver fieldTypeResolver) {
method setContext (line 1335) | public void setContext(ParseContext context) {
method popContext (line 1342) | public void popContext() {
method setContext (line 1357) | public ParseContext setContext(Object object, Object fieldName) {
method setContext (line 1365) | public ParseContext setContext(ParseContext parent, Object object, Obj...
method addContext (line 1376) | private void addContext(ParseContext context) {
method parse (line 1389) | public Object parse() {
method parseKey (line 1393) | public Object parseKey() {
method parse (line 1402) | public Object parse(Object fieldName) {
method config (line 1514) | public void config(Feature feature, boolean state) {
method isEnabled (line 1518) | public boolean isEnabled(Feature feature) {
method getLexer (line 1522) | public JSONLexer getLexer() {
method accept (line 1526) | public final void accept(final int token) {
method accept (line 1536) | public final void accept(final int token, int nextExpectToken) {
method throwException (line 1545) | public void throwException(int token) {
method close (line 1550) | public void close() {
method resolveReference (line 1564) | public Object resolveReference(String ref) {
method handleResovleTask (line 1577) | public void handleResovleTask(Object value) {
class ResolveTask (line 1641) | public static class ResolveTask {
method ResolveTask (line 1648) | public ResolveTask(ParseContext context, String referenceValue){
method parseExtra (line 1654) | public void parseExtra(Object object, String key) {
method parse (line 1685) | public Object parse(PropertyProcessable object, Object fieldName) {
FILE: src/main/java/com/alibaba/fastjson/parser/Feature.java
type Feature (line 22) | public enum Feature {
method Feature (line 162) | Feature(){
method getMask (line 168) | public final int getMask() {
method isEnabled (line 172) | public static boolean isEnabled(int features, Feature feature) {
method config (line 176) | public static int config(int features, Feature feature, boolean state) {
method of (line 186) | public static int of(Feature[] features) {
FILE: src/main/java/com/alibaba/fastjson/parser/JSONLexer.java
type JSONLexer (line 23) | public interface JSONLexer {
method token (line 35) | int token();
method tokenName (line 37) | String tokenName();
method skipWhitespace (line 39) | void skipWhitespace();
method nextToken (line 41) | void nextToken();
method nextToken (line 43) | void nextToken(int expect);
method getCurrent (line 45) | char getCurrent();
method next (line 47) | char next();
method scanSymbol (line 49) | String scanSymbol(final SymbolTable symbolTable);
method scanSymbol (line 51) | String scanSymbol(final SymbolTable symbolTable, final char quote);
method resetStringPosition (line 53) | void resetStringPosition();
method scanNumber (line 55) | void scanNumber();
method pos (line 57) | int pos();
method integerValue (line 59) | Number integerValue();
method decimalValue (line 61) | BigDecimal decimalValue();
method decimalValue (line 63) | Number decimalValue(boolean decimal);
method scanSymbolUnQuoted (line 65) | String scanSymbolUnQuoted(final SymbolTable symbolTable);
method stringVal (line 67) | String stringVal();
method isEnabled (line 69) | boolean isEnabled(int feature);
method isEnabled (line 71) | boolean isEnabled(Feature feature);
method config (line 73) | void config(Feature feature, boolean state);
method scanString (line 75) | void scanString();
method intValue (line 77) | int intValue();
method nextTokenWithColon (line 79) | void nextTokenWithColon();
method nextTokenWithColon (line 81) | void nextTokenWithColon(int expect);
method isBlankInput (line 83) | boolean isBlankInput();
method close (line 85) | void close();
method longValue (line 87) | long longValue();
method isRef (line 89) | boolean isRef();
method scanTypeName (line 91) | String scanTypeName(SymbolTable symbolTable);
method numberString (line 93) | String numberString();
method bytesValue (line 95) | byte[] bytesValue();
method floatValue (line 97) | float floatValue();
method scanInt (line 99) | int scanInt(char expectNext);
method scanLong (line 100) | long scanLong(char expectNextChar);
method scanFloat (line 101) | float scanFloat(char seperator);
method scanDouble (line 102) | double scanDouble(char seperator);
method scanBoolean (line 103) | boolean scanBoolean(char expectNext);
method scanDecimal (line 104) | BigDecimal scanDecimal(char seperator);
method scanString (line 106) | String scanString(char expectNextChar);
method scanEnum (line 108) | Enum<?> scanEnum(Class<?> enumClass, final SymbolTable symbolTable, ch...
method scanSymbolWithSeperator (line 110) | String scanSymbolWithSeperator(final SymbolTable symbolTable, char ser...
method scanStringArray (line 112) | void scanStringArray(Collection<String> collection, char seperator);
method getTimeZone (line 114) | TimeZone getTimeZone();
method setTimeZone (line 116) | void setTimeZone(TimeZone timeZone);
method getLocale (line 118) | Locale getLocale();
method setLocale (line 120) | void setLocale(Locale locale);
method info (line 122) | String info();
method getFeatures (line 124) | int getFeatures();
method setFeatures (line 125) | void setFeatures(int features);
FILE: src/main/java/com/alibaba/fastjson/parser/JSONLexerBase.java
class JSONLexerBase (line 35) | public abstract class JSONLexerBase implements JSONLexer, Closeable {
method lexError (line 37) | protected void lexError(String key, Object... args) {
method JSONLexerBase (line 74) | public JSONLexerBase(int features){
method matchStat (line 88) | public final int matchStat() {
method setToken (line 96) | public void setToken(int token) {
method nextToken (line 100) | public final void nextToken() {
method nextToken (line 229) | public final void nextToken(int expect) {
method nextIdent (line 368) | public final void nextIdent() {
method nextTokenWithColon (line 379) | public final void nextTokenWithColon() {
method nextTokenWithChar (line 383) | public final void nextTokenWithChar(char expect) {
method token (line 402) | public final int token() {
method tokenName (line 406) | public final String tokenName() {
method pos (line 410) | public final int pos() {
method stringDefaultValue (line 414) | public final String stringDefaultValue() {
method integerValue (line 418) | public final Number integerValue() throws NumberFormatException {
method nextTokenWithColon (line 507) | public final void nextTokenWithColon(int expect) {
method floatValue (line 511) | public float floatValue() {
method doubleValue (line 523) | public double doubleValue() {
method config (line 527) | public void config(Feature feature, boolean state) {
method isEnabled (line 535) | public final boolean isEnabled(Feature feature) {
method isEnabled (line 539) | public final boolean isEnabled(int feature) {
method isEnabled (line 543) | public final boolean isEnabled(int features, int feature) {
method numberString (line 547) | public abstract String numberString();
method isEOF (line 549) | public abstract boolean isEOF();
method getCurrent (line 551) | public final char getCurrent() {
method charAt (line 555) | public abstract char charAt(int index);
method next (line 565) | public abstract char next();
method skipComment (line 567) | protected void skipComment() {
method scanSymbol (line 599) | public final String scanSymbol(final SymbolTable symbolTable) {
method arrayCopy (line 640) | protected abstract void arrayCopy(int srcPos, char[] dest, int destPos...
method scanSymbol (line 642) | public final String scanSymbol(final SymbolTable symbolTable, final ch...
method resetStringPosition (line 816) | public final void resetStringPosition() {
method info (line 820) | public String info() {
method scanSymbolUnQuoted (line 824) | public final String scanSymbolUnQuoted(final SymbolTable symbolTable) {
method copyTo (line 878) | protected abstract void copyTo(int offset, int count, char[] dest);
method scanString (line 880) | public final void scanString() {
method getCalendar (line 1024) | public Calendar getCalendar() {
method getTimeZone (line 1028) | public TimeZone getTimeZone() {
method setTimeZone (line 1032) | public void setTimeZone(TimeZone timeZone) {
method getLocale (line 1036) | public Locale getLocale() {
method setLocale (line 1040) | public void setLocale(Locale locale) {
method intValue (line 1044) | public final int intValue() {
method bytesValue (line 1098) | public abstract byte[] bytesValue();
method close (line 1100) | public void close() {
method isRef (line 1107) | public final boolean isRef() {
method scanTypeName (line 1118) | public String scanTypeName(SymbolTable symbolTable) {
method scanType (line 1124) | public final int scanType(String type) {
method matchField (line 1174) | public final boolean matchField(char[] fieldName) {
method matchField (line 1207) | public int matchField(long fieldNameHash) {
method seekArrayToItem (line 1211) | public boolean seekArrayToItem(int index) {
method seekObjectToField (line 1215) | public int seekObjectToField(long fieldNameHash, boolean deepScan) {
method seekObjectToField (line 1219) | public int seekObjectToField(long[] fieldNameHash) {
method seekObjectToFieldDeepScan (line 1223) | public int seekObjectToFieldDeepScan(long fieldNameHash) {
method skipObject (line 1227) | public void skipObject() {
method skipObject (line 1231) | public void skipObject(boolean valid) {
method skipArray (line 1235) | public void skipArray() {
method indexOf (line 1239) | public abstract int indexOf(char ch, int startIndex);
method addSymbol (line 1241) | public abstract String addSymbol(int offset, int len, int hash, final ...
method scanFieldString (line 1243) | public String scanFieldString(char[] fieldName) {
method scanString (line 1337) | public String scanString(char expectNextChar) {
method scanFieldSymbol (line 1430) | public long scanFieldSymbol(char[] fieldName) {
method scanEnumSymbol (line 1501) | public long scanEnumSymbol(char[] fieldName) {
method scanEnum (line 1572) | @SuppressWarnings({ "unchecked", "rawtypes" })
method scanSymbolWithSeperator (line 1581) | public String scanSymbolWithSeperator(final SymbolTable symbolTable, c...
method newCollectionByType (line 1653) | public Collection<String> newCollectionByType(Class<?> type){
method scanFieldStringArray (line 1669) | @SuppressWarnings("unchecked")
method scanStringArray (line 1807) | public void scanStringArray(Collection<String> list, char seperator) {
method scanFieldInt (line 1906) | public int scanFieldInt(char[] fieldName) {
method scanFieldIntArray (line 1989) | public final int[] scanFieldIntArray(char[] fieldName) {
method scanBoolean (line 2096) | public boolean scanBoolean(char expectNext) {
method scanInt (line 2151) | public int scanInt(char expectNext) {
method scanFieldBoolean (line 2239) | public boolean scanFieldBoolean(char[] fieldName) {
method scanFieldLong (line 2331) | public long scanFieldLong(char[] fieldName) {
method scanLong (line 2413) | public long scanLong(char expectNextChar) {
method scanFieldFloat (line 2511) | public final float scanFieldFloat(char[] fieldName) {
method scanFloat (line 2682) | public final float scanFloat(char seperator) {
method scanDouble (line 2835) | public double scanDouble(char seperator) {
method scanDecimal (line 2973) | public BigDecimal scanDecimal(char seperator) {
method scanFieldFloatArray (line 3127) | public final float[] scanFieldFloatArray(char[] fieldName) {
method scanFieldFloatArray2 (line 3283) | public final float[][] scanFieldFloatArray2(char[] fieldName) {
method scanFieldDouble (line 3471) | public final double scanFieldDouble(char[] fieldName) {
method scanFieldDecimal (line 3645) | public BigDecimal scanFieldDecimal(char[] fieldName) {
method scanFieldBigInteger (line 3808) | public BigInteger scanFieldBigInteger(char[] fieldName) {
method scanFieldDate (line 3954) | public java.util.Date scanFieldDate(char[] fieldName) {
method scanDate (line 4088) | public java.util.Date scanDate(char seperator) {
method scanFieldUUID (line 4224) | public java.util.UUID scanFieldUUID(char[] fieldName) {
method scanUUID (line 4432) | public java.util.UUID scanUUID(char seperator) {
method scanTrue (line 4635) | public final void scanTrue() {
method scanNullOrNew (line 4674) | public final void scanNullOrNew() {
method scanNullOrNew (line 4678) | public final void scanNullOrNew(boolean acceptColon) {
method scanFalse (line 4742) | public final void scanFalse() {
method scanIdent (line 4786) | public final void scanIdent() {
method stringVal (line 4821) | public abstract String stringVal();
method subString (line 4823) | public abstract String subString(int offset, int count);
method sub_chars (line 4825) | protected abstract char[] sub_chars(int offset, int count);
method readString (line 4827) | public static String readString(char[] chars, int chars_len) {
method charArrayCompare (line 4912) | protected abstract boolean charArrayCompare(char[] chars);
method isBlankInput (line 4914) | public boolean isBlankInput() {
method skipWhitespace (line 4930) | public final void skipWhitespace() {
method scanStringSingleQuote (line 4953) | private void scanStringSingleQuote() {
method putChar (line 5090) | protected final void putChar(char ch) {
method scanHex (line 5103) | public final void scanHex() {
method scanNumber (line 5137) | public final void scanNumber() {
method longValue (line 5225) | public final long longValue() throws NumberFormatException {
method decimalValue (line 5279) | public final Number decimalValue(boolean decimal) {
method decimalValue (line 5300) | public abstract BigDecimal decimalValue();
method isWhitespace (line 5302) | public static boolean isWhitespace(char ch) {
method scanFieldStringArray (line 5338) | public String[] scanFieldStringArray(char[] fieldName, int argTypesCou...
method matchField2 (line 5342) | public boolean matchField2(char[] fieldName) {
method getFeatures (line 5346) | public int getFeatures() {
method setFeatures (line 5350) | public void setFeatures(int features) {
FILE: src/main/java/com/alibaba/fastjson/parser/JSONReaderScanner.java
class JSONReaderScanner (line 34) | public final class JSONReaderScanner extends JSONLexerBase {
method JSONReaderScanner (line 42) | public JSONReaderScanner(String input){
method JSONReaderScanner (line 46) | public JSONReaderScanner(String input, int features){
method JSONReaderScanner (line 50) | public JSONReaderScanner(char[] input, int inputLength){
method JSONReaderScanner (line 54) | public JSONReaderScanner(Reader reader){
method JSONReaderScanner (line 58) | public JSONReaderScanner(Reader reader, int features){
method JSONReaderScanner (line 85) | public JSONReaderScanner(char[] input, int inputLength, int features){
method charAt (line 89) | public final char charAt(int index) {
method indexOf (line 140) | public final int indexOf(char ch, int startIndex) {
method addSymbol (line 154) | public final String addSymbol(int offset, int len, int hash, final Sym...
method next (line 158) | public final char next() {
method copyTo (line 206) | protected final void copyTo(int offset, int count, char[] dest) {
method charArrayCompare (line 210) | public final boolean charArrayCompare(char[] chars) {
method bytesValue (line 220) | public byte[] bytesValue() {
method arrayCopy (line 228) | protected final void arrayCopy(int srcPos, char[] dest, int destPos, i...
method stringVal (line 235) | public final String stringVal() {
method subString (line 251) | public final String subString(int offset, int count) {
method sub_chars (line 259) | public final char[] sub_chars(int offset, int count) {
method numberString (line 272) | public final String numberString() {
method decimalValue (line 288) | public final BigDecimal decimalValue() {
method close (line 307) | public void close() {
method isEOF (line 318) | @Override
method isBlankInput (line 323) | public final boolean isBlankInput() {
FILE: src/main/java/com/alibaba/fastjson/parser/JSONScanner.java
class JSONScanner (line 35) | public final class JSONScanner extends JSONLexerBase {
method JSONScanner (line 40) | public JSONScanner(String input){
method JSONScanner (line 44) | public JSONScanner(String input, int features){
method charAt (line 57) | public final char charAt(int index) {
method next (line 65) | public final char next() {
method JSONScanner (line 72) | public JSONScanner(char[] input, int inputLength){
method JSONScanner (line 76) | public JSONScanner(char[] input, int inputLength, int features){
method copyTo (line 80) | protected final void copyTo(int offset, int count, char[] dest) {
method charArrayCompare (line 84) | static boolean charArrayCompare(String src, int offset, char[] dest) {
method charArrayCompare (line 99) | public final boolean charArrayCompare(char[] chars) {
method indexOf (line 103) | public final int indexOf(char ch, int startIndex) {
method addSymbol (line 107) | public final String addSymbol(int offset, int len, int hash, final Sym...
method bytesValue (line 111) | public byte[] bytesValue() {
method stringVal (line 142) | public final String stringVal() {
method subString (line 150) | public final String subString(int offset, int count) {
method sub_chars (line 165) | public final char[] sub_chars(int offset, int count) {
method numberString (line 176) | public final String numberString() {
method decimalValue (line 187) | public final BigDecimal decimalValue() {
method scanISO8601DateIfMatch (line 210) | public boolean scanISO8601DateIfMatch() {
method scanISO8601DateIfMatch (line 214) | public boolean scanISO8601DateIfMatch(boolean strict) {
method scanISO8601DateIfMatch (line 219) | private boolean scanISO8601DateIfMatch(boolean strict, int rest) {
method setTime (line 701) | protected void setTime(char h0, char h1, char m0, char m1, char s0, ch...
method setTimeZone (line 710) | protected void setTimeZone(char timeZoneFlag, char t0, char t1) {
method setTimeZone (line 714) | protected void setTimeZone(char timeZoneFlag, char t0, char t1, char t...
method checkTime (line 728) | private boolean checkTime(char h0, char h1, char m0, char m1, char s0,...
method setCalendar (line 772) | private void setCalendar(char y0, char y1, char y2, char y3, char M0, ...
method checkDate (line 783) | static boolean checkDate(char y0, char y1, char y2, char y3, char M0, ...
method isEOF (line 828) | @Override
method scanFieldInt (line 833) | public int scanFieldInt(char[] fieldName) {
method scanFieldString (line 952) | public String scanFieldString(char[] fieldName) {
method scanFieldDate (line 1075) | public java.util.Date scanFieldDate(char[] fieldName) {
method scanFieldSymbol (line 1193) | public long scanFieldSymbol(char[] fieldName) {
method scanFieldStringArray (line 1283) | @SuppressWarnings("unchecked")
method scanFieldLong (line 1446) | public long scanFieldLong(char[] fieldName) {
method scanFieldBoolean (line 1560) | public boolean scanFieldBoolean(char[] fieldName) {
method scanInt (line 1694) | public final int scanInt(char expectNext) {
method scanDouble (line 1803) | public double scanDouble(char seperator) {
method scanLong (line 1943) | public long scanLong(char seperator) {
method scanDate (line 2044) | public java.util.Date scanDate(char seperator) {
method arrayCopy (line 2171) | protected final void arrayCopy(int srcPos, char[] dest, int destPos, i...
method info (line 2175) | public String info() {
method scanFieldStringArray (line 2209) | public String[] scanFieldStringArray(char[] fieldName, int argTypesCou...
method matchField2 (line 2312) | public boolean matchField2(char[] fieldName) {
method skipObject (line 2338) | public final void skipObject() {
method skipObject (line 2342) | public final void skipObject(boolean valid) {
method skipArray (line 2412) | public final void skipArray() {
method skipArray (line 2416) | public final void skipArray(boolean valid) {
method skipString (line 2472) | public final void skipString() {
method seekArrayToItem (line 2492) | public boolean seekArrayToItem(int index) {
method seekObjectToField (line 2566) | public int seekObjectToField(long fieldNameHash, boolean deepScan) {
method seekObjectToField (line 2835) | public int seekObjectToField(long[] fieldNameHash) {
method scanTypeName (line 3034) | public String scanTypeName(SymbolTable symbolTable) {
FILE: src/main/java/com/alibaba/fastjson/parser/JSONToken.java
class JSONToken (line 21) | public class JSONToken {
method name (line 73) | public static String name(int value) {
FILE: src/main/java/com/alibaba/fastjson/parser/ParseContext.java
class ParseContext (line 5) | public class ParseContext {
method ParseContext (line 14) | public ParseContext(ParseContext parent, Object object, Object fieldNa...
method toString (line 21) | public String toString() {
FILE: src/main/java/com/alibaba/fastjson/parser/ParserConfig.java
class ParserConfig (line 68) | public class ParserConfig {
method getGlobalInstance (line 117) | public static ParserConfig getGlobalInstance() {
method ParserConfig (line 337) | public ParserConfig(){
method ParserConfig (line 341) | public ParserConfig(boolean fieldBase){
method ParserConfig (line 345) | public ParserConfig(ClassLoader parentClassLoader){
method ParserConfig (line 349) | public ParserConfig(ASMDeserializerFactory asmFactory){
method ParserConfig (line 353) | private ParserConfig(ASMDeserializerFactory asmFactory, ClassLoader pa...
method call (line 386) | public Void call() {
method initDeserializers (line 395) | private void initDeserializers() {
method splitItemsFormProperty (line 475) | private static String[] splitItemsFormProperty(final String property ){
method configFromPropety (line 482) | public void configFromPropety(Properties properties) {
method addItemsToDeny0 (line 503) | private void addItemsToDeny0(final String[] items){
method addItemsToDeny (line 514) | private void addItemsToDeny(final String[] items){
method addItemsToAccept (line 525) | private void addItemsToAccept(final String[] items){
method isSafeMode (line 539) | public boolean isSafeMode() {
method setSafeMode (line 546) | public void setSafeMode(boolean safeMode) {
method isAutoTypeSupport (line 550) | public boolean isAutoTypeSupport() {
method setAutoTypeSupport (line 554) | public void setAutoTypeSupport(boolean autoTypeSupport) {
method isAsmEnable (line 558) | public boolean isAsmEnable() {
method setAsmEnable (line 562) | public void setAsmEnable(boolean asmEnable) {
method getDerializers (line 569) | public IdentityHashMap<Type, ObjectDeserializer> getDerializers() {
method getDeserializers (line 573) | public IdentityHashMap<Type, ObjectDeserializer> getDeserializers() {
method getDeserializer (line 577) | public ObjectDeserializer getDeserializer(Type type) {
method getDeserializer (line 608) | public ObjectDeserializer getDeserializer(Class<?> clazz, Type type) {
method getEnumCreator (line 887) | private static Method getEnumCreator(Class clazz, Class enumClass) {
method getEnumDeserializer (line 913) | protected ObjectDeserializer getEnumDeserializer(Class<?> clazz){
method initJavaBeanDeserializers (line 921) | public void initJavaBeanDeserializers(Class<?>... classes) {
method createJavaBeanDeserializer (line 935) | public ObjectDeserializer createJavaBeanDeserializer(Class<?> clazz, T...
method createFieldDeserializer (line 1086) | public FieldDeserializer createFieldDeserializer(ParserConfig mapping, //
method putDeserializer (line 1108) | public void putDeserializer(Type type, ObjectDeserializer deserializer) {
method get (line 1123) | public ObjectDeserializer get(Type type) {
method getDeserializer (line 1135) | public ObjectDeserializer getDeserializer(FieldInfo fieldInfo) {
method isPrimitive (line 1142) | public boolean isPrimitive(Class<?> clazz) {
method apply (line 1147) | public Boolean apply(Class<?> clazz) {
method isPrimitive2 (line 1157) | public static boolean isPrimitive2(final Class<?> clazz) {
method parserAllFieldToCache (line 1185) | public static void parserAllFieldToCache(Class<?> clazz,Map</**fieldN...
method getFieldFromCache (line 1198) | public static Field getFieldFromCache(String fieldName, Map<String, Fi...
method getDefaultClassLoader (line 1235) | public ClassLoader getDefaultClassLoader() {
method setDefaultClassLoader (line 1239) | public void setDefaultClassLoader(ClassLoader defaultClassLoader) {
method addDenyInternal (line 1243) | public void addDenyInternal(String name) {
method addDeny (line 1265) | public void addDeny(String name) {
method addAccept (line 1282) | public void addAccept(String name) {
method checkAutoType (line 1299) | public Class<?> checkAutoType(Class type) {
method checkAutoType (line 1307) | public Class<?> checkAutoType(String typeName, Class<?> expectClass) {
method checkAutoType (line 1311) | public Class<?> checkAutoType(String typeName, Class<?> expectClass, i...
method clearDeserializers (line 1554) | public void clearDeserializers() {
method isJacksonCompatible (line 1559) | public boolean isJacksonCompatible() {
method setJacksonCompatible (line 1563) | public void setJacksonCompatible(boolean jacksonCompatible) {
method register (line 1567) | public void register(String typeName, Class type) {
method register (line 1571) | public void register(Module module) {
method addAutoTypeCheckHandler (line 1575) | public void addAutoTypeCheckHandler(AutoTypeCheckHandler h) {
type AutoTypeCheckHandler (line 1589) | public interface AutoTypeCheckHandler {
method handler (line 1590) | Class<?> handler(String typeName, Class<?> expectClass, int features);
FILE: src/main/java/com/alibaba/fastjson/parser/SymbolTable.java
class SymbolTable (line 23) | public class SymbolTable {
method SymbolTable (line 28) | public SymbolTable(int tableSize){
method addSymbol (line 36) | public String addSymbol(char[] buffer, int offset, int len) {
method addSymbol (line 51) | public String addSymbol(char[] buffer, int offset, int len, int hash) {
method addSymbol (line 81) | public String addSymbol(String buffer, int offset, int len, int hash) {
method addSymbol (line 85) | public String addSymbol(String buffer, int offset, int len, int hash, ...
method subString (line 113) | private static String subString(String src, int offset, int len) {
method hash (line 119) | public static int hash(char[] buffer, int offset, int len) {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/ASMDeserializerFactory.java
class ASMDeserializerFactory (line 42) | public class ASMDeserializerFactory implements Opcodes {
method ASMDeserializerFactory (line 50) | public ASMDeserializerFactory(ClassLoader parentClassLoader){
method createJavaBeanDeserializer (line 56) | public ObjectDeserializer createJavaBeanDeserializer(ParserConfig conf...
method _setFlag (line 93) | private void _setFlag(MethodVisitor mw, Context context, int i) {
method _isFlag (line 102) | private void _isFlag(MethodVisitor mw, Context context, int i, Label l...
method _deserialzeArrayMapping (line 110) | private void _deserialzeArrayMapping(ClassWriter cw, Context context) {
method _deserialze (line 580) | private void _deserialze(ClassWriter cw, Context context) {
method defineVarLexer (line 1162) | private void defineVarLexer(Context context, MethodVisitor mw) {
method _createInstance (line 1169) | private void _createInstance(Context context, MethodVisitor mw) {
method _batchSet (line 1190) | private void _batchSet(Context context, MethodVisitor mw) {
method _batchSet (line 1194) | private void _batchSet(Context context, MethodVisitor mw, boolean flag) {
method _loadAndSet (line 1211) | private void _loadAndSet(Context context, MethodVisitor mw, FieldInfo ...
method _set (line 1273) | private void _set(Context context, MethodVisitor mw, FieldInfo fieldIn...
method _setContext (line 1288) | private void _setContext(Context context, MethodVisitor mw) {
method _deserialize_endCheck (line 1304) | private void _deserialize_endCheck(Context context, MethodVisitor mw, ...
method _deserialze_list_obj (line 1317) | private void _deserialze_list_obj(Context context, MethodVisitor mw, L...
method _quickNextToken (line 1507) | private void _quickNextToken(Context context, MethodVisitor mw, int to...
method _quickNextTokenComma (line 1537) | private void _quickNextTokenComma(Context context, MethodVisitor mw) {
method _getCollectionFieldItemDeser (line 1597) | private void _getCollectionFieldItemDeser(Context context, MethodVisit...
method _newCollection (line 1622) | private void _newCollection(MethodVisitor mw, Class<?> fieldClass, int...
method _deserialze_obj (line 1658) | private void _deserialze_obj(Context context, MethodVisitor mw, Label ...
method _deserObject (line 1714) | private void _deserObject(Context context, MethodVisitor mw, FieldInfo...
method _getFieldDeser (line 1763) | private void _getFieldDeser(Context context, MethodVisitor mw, FieldIn...
class Context (line 1785) | static class Context {
method Context (line 1799) | public Context(String className, ParserConfig config, JavaBeanInfo b...
method getInstClass (line 1807) | public Class<?> getInstClass() {
method var (line 1816) | public int var(String name, int increment) {
method var (line 1826) | public int var(String name) {
method var_asm (line 1835) | public int var_asm(FieldInfo fieldInfo) {
method var_asm (line 1839) | public int var_asm(FieldInfo fieldInfo, int increment) {
method fieldName (line 1843) | public String fieldName(FieldInfo fieldInfo) {
method fieldDeserName (line 1850) | public String fieldDeserName(FieldInfo fieldInfo) {
method validIdent (line 1857) | boolean validIdent(String name) {
method _init (line 1875) | private void _init(ClassWriter cw, Context context) {
method _createInstance (line 1926) | private void _createInstance(ClassWriter cw, Context context) {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/AbstractDateDeserializer.java
class AbstractDateDeserializer (line 13) | public abstract class AbstractDateDeserializer extends ContextObjectDese...
method deserialze (line 15) | public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object f...
method deserialze (line 19) | @Override
method cast (line 187) | protected abstract <T> T cast(DefaultJSONParser parser, Type clazz, Ob...
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/ArrayListTypeFieldDeserializer.java
class ArrayListTypeFieldDeserializer (line 22) | public class ArrayListTypeFieldDeserializer extends FieldDeserializer {
method ArrayListTypeFieldDeserializer (line 28) | public ArrayListTypeFieldDeserializer(ParserConfig mapping, Class<?> c...
method getFastMatchToken (line 47) | public int getFastMatchToken() {
method parseField (line 51) | @SuppressWarnings("rawtypes")
method parseArray (line 81) | @SuppressWarnings({ "unchecked", "rawtypes" })
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/AutowiredObjectDeserializer.java
type AutowiredObjectDeserializer (line 7) | public interface AutowiredObjectDeserializer extends ObjectDeserializer{
method getAutowiredFor (line 8) | Set<Type> getAutowiredFor();
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/ContextObjectDeserializer.java
class ContextObjectDeserializer (line 7) | public abstract class ContextObjectDeserializer implements ObjectDeseria...
method deserialze (line 8) | public <T> T deserialze(DefaultJSONParser parser, Type type, Object fi...
method deserialze (line 12) | public abstract <T> T deserialze(DefaultJSONParser parser, Type type, ...
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/DefaultFieldDeserializer.java
class DefaultFieldDeserializer (line 20) | public class DefaultFieldDeserializer extends FieldDeserializer {
method DefaultFieldDeserializer (line 25) | public DefaultFieldDeserializer(ParserConfig config, Class<?> clazz, F...
method getFieldValueDeserilizer (line 34) | public ObjectDeserializer getFieldValueDeserilizer(ParserConfig config) {
method parseField (line 52) | @Override
method getFastMatchToken (line 131) | public int getFastMatchToken() {
method parseFieldUnwrapped (line 139) | public void parseFieldUnwrapped(DefaultJSONParser parser, Object objec...
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/EnumCreatorDeserializer.java
class EnumCreatorDeserializer (line 10) | public class EnumCreatorDeserializer implements ObjectDeserializer {
method EnumCreatorDeserializer (line 14) | public EnumCreatorDeserializer(Method creator) {
method deserialze (line 19) | public <T> T deserialze(DefaultJSONParser parser, Type type, Object fi...
method getFastMatchToken (line 30) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/EnumDeserializer.java
class EnumDeserializer (line 18) | @SuppressWarnings("rawtypes")
method EnumDeserializer (line 26) | public EnumDeserializer(Class<?> enumClass){
method getEnumByHashCode (line 99) | public Enum getEnumByHashCode(long hashCode) {
method valueOf (line 113) | public Enum<?> valueOf(int ordinal) {
method deserialze (line 117) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 178) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/ExtraProcessable.java
type ExtraProcessable (line 8) | public interface ExtraProcessable {
method processExtra (line 9) | void processExtra(String key, Object value);
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/ExtraProcessor.java
type ExtraProcessor (line 8) | public interface ExtraProcessor extends ParseProcess {
method processExtra (line 10) | void processExtra(Object object, String key, Object value);
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/ExtraTypeProvider.java
type ExtraTypeProvider (line 9) | public interface ExtraTypeProvider extends ParseProcess {
method getExtraType (line 11) | Type getExtraType(Object object, String key);
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/FieldDeserializer.java
class FieldDeserializer (line 18) | public abstract class FieldDeserializer {
method FieldDeserializer (line 26) | public FieldDeserializer(Class<?> clazz, FieldInfo fieldInfo) {
method getOwnerClass (line 31) | public Class<?> getOwnerClass() {
method parseField (line 35) | public abstract void parseField(DefaultJSONParser parser, Object objec...
method getFastMatchToken (line 38) | public int getFastMatchToken() {
method setValue (line 42) | public void setValue(Object object, boolean value) {
method setValue (line 46) | public void setValue(Object object, int value) {
method setValue (line 50) | public void setValue(Object object, long value) {
method setValue (line 54) | public void setValue(Object object, String value) {
method setValue (line 58) | @SuppressWarnings({"rawtypes", "unchecked"})
method degradeValueAssignment (line 226) | private static boolean degradeValueAssignment(
method setFieldValue (line 249) | private static boolean setFieldValue(Field field, Object object, Objec...
method setWrappedValue (line 258) | public void setWrappedValue(String key, Object value) {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/FieldTypeResolver.java
type FieldTypeResolver (line 5) | public interface FieldTypeResolver extends ParseProcess {
method resolve (line 6) | Type resolve(Object object, String fieldName);
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/JSONPDeserializer.java
class JSONPDeserializer (line 12) | public class JSONPDeserializer implements ObjectDeserializer {
method deserialze (line 15) | public <T> T deserialze(DefaultJSONParser parser, Type type, Object fi...
method getFastMatchToken (line 61) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/JavaBeanDeserializer.java
class JavaBeanDeserializer (line 23) | public class JavaBeanDeserializer implements ObjectDeserializer {
method JavaBeanDeserializer (line 42) | public JavaBeanDeserializer(ParserConfig config, Class<?> clazz) {
method JavaBeanDeserializer (line 46) | public JavaBeanDeserializer(ParserConfig config, Class<?> clazz, Type ...
method JavaBeanDeserializer (line 52) | public JavaBeanDeserializer(ParserConfig config, JavaBeanInfo beanInfo){
method getFieldDeserializer (line 98) | public FieldDeserializer getFieldDeserializer(String key) {
method getFieldDeserializer (line 102) | public FieldDeserializer getFieldDeserializer(String key, int[] setFla...
method getFieldDeserializer (line 144) | public FieldDeserializer getFieldDeserializer(long hash) {
method isSetFlag (line 180) | static boolean isSetFlag(int i, int[] setFlags) {
method createInstance (line 190) | public Object createInstance(DefaultJSONParser parser, Type type) {
method deserialze (line 286) | public <T> T deserialze(DefaultJSONParser parser, Type type, Object fi...
method deserialze (line 290) | public <T> T deserialze(DefaultJSONParser parser, Type type, Object fi...
method deserialzeArrayMapping (line 294) | @SuppressWarnings({ "unchecked" })
method check (line 381) | protected void check(final JSONLexer lexer, int token) {
method scanEnum (line 387) | protected Enum<?> scanEnum(JSONLexer lexer, char seperator) {
method deserialze (line 391) | @SuppressWarnings({ "unchecked", "rawtypes" })
method scanEnum (line 1089) | protected Enum scanEnum(JSONLexerBase lexer, char[] name_chars, Object...
method parseField (line 1119) | public boolean parseField(DefaultJSONParser parser, String key, Object...
method parseField (line 1124) | public boolean parseField(DefaultJSONParser parser, String key, Object...
method smartMatch (line 1289) | public FieldDeserializer smartMatch(String key) {
method smartMatch (line 1293) | public FieldDeserializer smartMatch(String key, int[] setFlags) {
method getFastMatchToken (line 1362) | public int getFastMatchToken() {
method createFactoryInstance (line 1366) | private Object createFactoryInstance(ParserConfig config, Object value...
method createInstance (line 1373) | public Object createInstance(Map<String, Object> map, ParserConfig con...
method getFieldType (line 1610) | public Type getFieldType(int ordinal) {
method parseRest (line 1614) | protected Object parseRest(DefaultJSONParser parser, Type type, Object...
method parseRest (line 1618) | protected Object parseRest(DefaultJSONParser parser
method getSeeAlso (line 1629) | protected static JavaBeanDeserializer getSeeAlso(ParserConfig config, ...
method parseArray (line 1654) | @SuppressWarnings({ "unchecked", "rawtypes" })
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/JavaObjectDeserializer.java
class JavaObjectDeserializer (line 16) | public class JavaObjectDeserializer implements ObjectDeserializer {
method deserialze (line 20) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 49) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/Jdk8DateCodec.java
class Jdk8DateCodec (line 31) | public class Jdk8DateCodec extends ContextObjectDeserializer implements ...
method deserialze (line 64) | @SuppressWarnings("unchecked")
method parseDateTime (line 264) | protected LocalDateTime parseDateTime(String text, DateTimeFormatter f...
method parseLocalDate (line 370) | protected LocalDate parseLocalDate(String text, String format, DateTim...
method parseZonedDateTime (line 444) | protected ZonedDateTime parseZonedDateTime(String text, DateTimeFormat...
method getFastMatchToken (line 525) | public int getFastMatchToken() {
method write (line 529) | public void write(JSONSerializer serializer, Object object, Object fie...
method write (line 577) | public void write(JSONSerializer serializer, Object object, BeanContex...
method write (line 583) | private void write(SerializeWriter out, TemporalAccessor object, Strin...
method castToLocalDateTime (line 624) | public static Object castToLocalDateTime(Object value, String format) {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/MapDeserializer.java
class MapDeserializer (line 16) | public class MapDeserializer extends ContextObjectDeserializer implement...
method deserialze (line 19) | @SuppressWarnings("unchecked")
method deserialze (line 53) | protected Object deserialze(DefaultJSONParser parser, Type type, Objec...
method deserialze (line 57) | @SuppressWarnings({ "rawtypes", "unchecked" })
method parseMap (line 78) | public static Map parseMap(DefaultJSONParser parser, Map<String, Objec...
method parseMap (line 82) | @SuppressWarnings("rawtypes")
method parseMap (line 256) | public static Object parseMap(DefaultJSONParser parser, Map<Object, Ob...
method createMap (line 363) | public Map<Object, Object> createMap(Type type) {
method createMap (line 367) | @SuppressWarnings({ "unchecked", "rawtypes" })
method getFastMatchToken (line 432) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/NumberDeserializer.java
class NumberDeserializer (line 13) | public class NumberDeserializer implements ObjectDeserializer {
method deserialze (line 17) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 126) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/ObjectDeserializer.java
type ObjectDeserializer (line 50) | public interface ObjectDeserializer {
method deserialze (line 63) | <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName);
method getFastMatchToken (line 65) | int getFastMatchToken();
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/OptionalCodec.java
class OptionalCodec (line 17) | public class OptionalCodec implements ObjectSerializer, ObjectDeserializ...
method deserialze (line 21) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 64) | public int getFastMatchToken() {
method write (line 68) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/ParseProcess.java
type ParseProcess (line 4) | public interface ParseProcess {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/PropertyProcessable.java
type PropertyProcessable (line 8) | public interface PropertyProcessable extends ParseProcess {
method getType (line 14) | Type getType(String name);
method apply (line 21) | void apply(String name, Object value);
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/PropertyProcessableDeserializer.java
class PropertyProcessableDeserializer (line 12) | public class PropertyProcessableDeserializer implements ObjectDeserializ...
method PropertyProcessableDeserializer (line 15) | public PropertyProcessableDeserializer(Class<PropertyProcessable> type) {
method deserialze (line 19) | public <T> T deserialze(DefaultJSONParser parser, Type type, Object fi...
method getFastMatchToken (line 32) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/ResolveFieldDeserializer.java
class ResolveFieldDeserializer (line 13) | @SuppressWarnings("rawtypes")
method ResolveFieldDeserializer (line 25) | public ResolveFieldDeserializer(DefaultJSONParser parser, List list, i...
method ResolveFieldDeserializer (line 37) | public ResolveFieldDeserializer(Map map, Object index){
method ResolveFieldDeserializer (line 50) | public ResolveFieldDeserializer(Collection collection){
method setValue (line 63) | @SuppressWarnings("unchecked")
method parseField (line 97) | public void parseField(DefaultJSONParser parser, Object object, Type o...
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/SqlDateDeserializer.java
class SqlDateDeserializer (line 16) | public class SqlDateDeserializer extends AbstractDateDeserializer implem...
method SqlDateDeserializer (line 23) | public SqlDateDeserializer() {
method SqlDateDeserializer (line 27) | public SqlDateDeserializer(boolean timestmap) {
method cast (line 31) | @SuppressWarnings("unchecked")
method castTimestamp (line 83) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 148) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/StackTraceElementDeserializer.java
class StackTraceElementDeserializer (line 12) | public class StackTraceElementDeserializer implements ObjectDeserializer {
method deserialze (line 16) | @SuppressWarnings({ "unchecked", "unused" })
method getFastMatchToken (line 142) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/ThrowableDeserializer.java
class ThrowableDeserializer (line 18) | public class ThrowableDeserializer extends JavaBeanDeserializer {
method ThrowableDeserializer (line 20) | public ThrowableDeserializer(ParserConfig mapping, Class<?> clazz){
method deserialze (line 24) | @SuppressWarnings("unchecked")
method createException (line 164) | private Throwable createException(String message, Throwable cause, Cla...
method getFastMatchToken (line 201) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/parser/deserializer/TimeDeserializer.java
class TimeDeserializer (line 13) | public class TimeDeserializer implements ObjectDeserializer {
method deserialze (line 17) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 89) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/ASMSerializerFactory.java
class ASMSerializerFactory (line 26) | public class ASMSerializerFactory implements Opcodes {
class Context (line 42) | static class Context {
method Context (line 62) | public Context(FieldInfo[] getters, //
method var (line 74) | public int var(String name) {
method var (line 83) | public int var(String name, int increment) {
method getFieldOrinal (line 93) | public int getFieldOrinal(String name) {
method createJavaBeanSerializer (line 106) | public JavaBeanSerializer createJavaBeanSerializer(SerializeBeanInfo b...
method generateWriteAsArray (line 416) | private void generateWriteAsArray(Class<?> clazz, MethodVisitor mw, Fi...
method generateWriteMethod (line 780) | private void generateWriteMethod(Class<?> clazz, MethodVisitor mw, Fie...
method _object (line 1047) | private void _object(Class<?> clazz, MethodVisitor mw, FieldInfo prope...
method _enum (line 1061) | private void _enum(Class<?> clazz, MethodVisitor mw, FieldInfo fieldIn...
method _int (line 1113) | private void _int(Class<?> clazz, MethodVisitor mw, FieldInfo property...
method _long (line 1134) | private void _long(Class<?> clazz, MethodVisitor mw, FieldInfo propert...
method _float (line 1154) | private void _float(Class<?> clazz, MethodVisitor mw, FieldInfo proper...
method _double (line 1174) | private void _double(Class<?> clazz, MethodVisitor mw, FieldInfo prope...
method _get (line 1194) | private void _get(MethodVisitor mw, Context context, FieldInfo fieldIn...
method _decimal (line 1214) | private void _decimal(Class<?> clazz, MethodVisitor mw, FieldInfo prop...
method _string (line 1252) | private void _string(Class<?> clazz, MethodVisitor mw, FieldInfo prope...
method _list (line 1312) | private void _list(Class<?> clazz, MethodVisitor mw, FieldInfo fieldIn...
method _filters (line 1527) | private void _filters(MethodVisitor mw, FieldInfo property, Context co...
method _nameApply (line 1549) | private void _nameApply(MethodVisitor mw, FieldInfo property, Context ...
method _labelApply (line 1572) | private void _labelApply(MethodVisitor mw, FieldInfo property, Context...
method _writeObject (line 1581) | private void _writeObject(MethodVisitor mw, FieldInfo fieldInfo, Conte...
method _before (line 1700) | private void _before(MethodVisitor mw, Context context) {
method _after (line 1710) | private void _after(MethodVisitor mw, Context context) {
method _notWriteDefault (line 1720) | private void _notWriteDefault(MethodVisitor mw, FieldInfo property, Co...
method _apply (line 1763) | private void _apply(MethodVisitor mw, FieldInfo property, Context cont...
method _processValue (line 1811) | private void _processValue(MethodVisitor mw, FieldInfo fieldInfo, Cont...
method _processKey (line 1918) | private void _processKey(MethodVisitor mw, FieldInfo property, Context...
method _if_write_null (line 1976) | private void _if_write_null(MethodVisitor mw, FieldInfo fieldInfo, Con...
method _writeFieldName (line 2055) | private void _writeFieldName(MethodVisitor mw, Context context) {
method _seperator (line 2068) | private void _seperator(MethodVisitor mw, Context context) {
method _getListFieldItemSer (line 2073) | private void _getListFieldItemSer(Context context, MethodVisitor mw, F...
method _getFieldSer (line 2096) | private void _getFieldSer(Context context, MethodVisitor mw, FieldInfo...
FILE: src/main/java/com/alibaba/fastjson/serializer/AdderSerializer.java
class AdderSerializer (line 11) | public class AdderSerializer implements ObjectSerializer {
method write (line 14) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/serializer/AfterFilter.java
class AfterFilter (line 6) | public abstract class AfterFilter implements SerializeFilter {
method writeAfter (line 13) | final char writeAfter(JSONSerializer serializer, Object object, char s...
method writeKeyValue (line 22) | protected final void writeKeyValue(String key, Object value) {
method writeAfter (line 36) | public abstract void writeAfter(Object object);
FILE: src/main/java/com/alibaba/fastjson/serializer/AnnotationSerializer.java
class AnnotationSerializer (line 17) | public class AnnotationSerializer implements ObjectSerializer {
method write (line 25) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/serializer/AppendableSerializer.java
class AppendableSerializer (line 6) | public class AppendableSerializer implements ObjectSerializer {
method write (line 10) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/serializer/ArraySerializer.java
class ArraySerializer (line 24) | public class ArraySerializer implements ObjectSerializer {
method ArraySerializer (line 29) | public ArraySerializer(Class<?> componentType, ObjectSerializer compOb...
method write (line 34) | public final void write(JSONSerializer serializer, Object object, Obje...
FILE: src/main/java/com/alibaba/fastjson/serializer/AtomicCodec.java
class AtomicCodec (line 34) | public class AtomicCodec implements ObjectSerializer, ObjectDeserializer {
method write (line 38) | public void write(JSONSerializer serializer, Object object, Object fie...
method deserialze (line 93) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 120) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/AutowiredObjectSerializer.java
type AutowiredObjectSerializer (line 24) | public interface AutowiredObjectSerializer extends ObjectSerializer {
method getAutowiredFor (line 25) | Set<Type> getAutowiredFor();
FILE: src/main/java/com/alibaba/fastjson/serializer/AwtCodec.java
class AwtCodec (line 18) | public class AwtCodec implements ObjectSerializer, ObjectDeserializer {
method support (line 22) | public static boolean support(Class<?> clazz) {
method write (line 30) | public void write(JSONSerializer serializer, Object object, Object fie...
method writeClassName (line 84) | protected char writeClassName(SerializeWriter out, Class<?> clazz, cha...
method deserialze (line 94) | @SuppressWarnings("unchecked")
method parseFont (line 129) | protected Font parseFont(DefaultJSONParser parser) {
method parseColor (line 182) | protected Color parseColor(DefaultJSONParser parser) {
method parseRectangle (line 228) | protected Rectangle parseRectangle(DefaultJSONParser parser) {
method parsePoint (line 278) | protected Point parsePoint(DefaultJSONParser parser, Object fieldName) {
method parseRef (line 334) | private Object parseRef(DefaultJSONParser parser, Object fieldName) {
method getFastMatchToken (line 347) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/BeanContext.java
class BeanContext (line 14) | public final class BeanContext {
method BeanContext (line 20) | public BeanContext(Class<?> beanClass, FieldInfo fieldInfo){
method getBeanClass (line 26) | public Class<?> getBeanClass() {
method getMethod (line 30) | public Method getMethod() {
method getField (line 34) | public Field getField() {
method getName (line 38) | public String getName() {
method getLabel (line 42) | public String getLabel() {
method getFieldClass (line 46) | public Class<?> getFieldClass() {
method getFieldType (line 50) | public Type getFieldType() {
method getFeatures (line 54) | public int getFeatures() {
method isJsonDirect (line 58) | public boolean isJsonDirect() {
method getAnnation (line 62) | public <T extends Annotation> T getAnnation(Class<T> annotationClass) {
method getFormat (line 66) | public String getFormat() {
FILE: src/main/java/com/alibaba/fastjson/serializer/BeforeFilter.java
class BeforeFilter (line 3) | public abstract class BeforeFilter implements SerializeFilter {
method writeBefore (line 10) | final char writeBefore(JSONSerializer serializer, Object object, char ...
method writeKeyValue (line 19) | protected final void writeKeyValue(String key, Object value) {
method writeBefore (line 34) | public abstract void writeBefore(Object object);
FILE: src/main/java/com/alibaba/fastjson/serializer/BigDecimalCodec.java
class BigDecimalCodec (line 32) | public class BigDecimalCodec implements ObjectSerializer, ObjectDeserial...
method write (line 38) | public void write(JSONSerializer serializer, Object object, Object fie...
method deserialze (line 74) | @SuppressWarnings("unchecked")
method deserialze (line 83) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 104) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/BigIntegerCodec.java
class BigIntegerCodec (line 32) | public class BigIntegerCodec implements ObjectSerializer, ObjectDeserial...
method write (line 38) | public void write(JSONSerializer serializer
method deserialze (line 63) | @SuppressWarnings("unchecked")
method deserialze (line 68) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 88) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/BooleanCodec.java
class BooleanCodec (line 32) | public class BooleanCodec implements ObjectSerializer, ObjectDeserializer {
method write (line 36) | public void write(JSONSerializer serializer, Object object, Object fie...
method deserialze (line 52) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 94) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/ByteBufferCodec.java
class ByteBufferCodec (line 11) | public class ByteBufferCodec implements ObjectSerializer, ObjectDeserial...
method deserialze (line 14) | @Override
method getFastMatchToken (line 20) | @Override
method write (line 25) | @Override
class ByteBufferBean (line 42) | public static class ByteBufferBean {
method byteBuffer (line 47) | public ByteBuffer byteBuffer() {
FILE: src/main/java/com/alibaba/fastjson/serializer/CalendarCodec.java
class CalendarCodec (line 23) | public class CalendarCodec extends ContextObjectDeserializer implements ...
method write (line 29) | public void write(JSONSerializer serializer, Object object, BeanContex...
method write (line 50) | public void write(JSONSerializer serializer, Object object, Object fie...
method deserialze (line 144) | public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object f...
method deserialze (line 148) | @Override
method createXMLGregorianCalendar (line 173) | public XMLGregorianCalendar createXMLGregorianCalendar(Calendar calend...
method getFastMatchToken (line 184) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/CharArrayCodec.java
class CharArrayCodec (line 14) | public class CharArrayCodec implements ObjectDeserializer {
method deserialze (line 16) | @SuppressWarnings("unchecked")
method deserialze (line 21) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 73) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/CharacterCodec.java
class CharacterCodec (line 29) | public class CharacterCodec implements ObjectSerializer, ObjectDeseriali...
method write (line 33) | public void write(JSONSerializer serializer, Object object, Object fie...
method deserialze (line 50) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 58) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/ClobSerializer.java
class ClobSerializer (line 11) | public class ClobSerializer implements ObjectSerializer {
method write (line 15) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/serializer/CollectionCodec.java
class CollectionCodec (line 33) | public class CollectionCodec implements ObjectSerializer, ObjectDeserial...
method write (line 37) | public void write(JSONSerializer serializer, Object object, Object fie...
method deserialze (line 110) | @SuppressWarnings({ "unchecked", "rawtypes" })
method getFastMatchToken (line 139) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/ContextObjectSerializer.java
type ContextObjectSerializer (line 5) | public interface ContextObjectSerializer extends ObjectSerializer {
method write (line 6) | void write(JSONSerializer serializer, //
FILE: src/main/java/com/alibaba/fastjson/serializer/ContextValueFilter.java
type ContextValueFilter (line 7) | public interface ContextValueFilter extends SerializeFilter {
method process (line 8) | Object process(BeanContext context, Object object, String name, Object...
FILE: src/main/java/com/alibaba/fastjson/serializer/DateCodec.java
class DateCodec (line 41) | public class DateCodec extends AbstractDateDeserializer implements Objec...
method write (line 45) | public void write(JSONSerializer serializer, Object object, Object fie...
method cast (line 247) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 346) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/DoubleSerializer.java
class DoubleSerializer (line 25) | public class DoubleSerializer implements ObjectSerializer {
method DoubleSerializer (line 31) | public DoubleSerializer(){
method DoubleSerializer (line 35) | public DoubleSerializer(DecimalFormat decimalFormat){
method DoubleSerializer (line 39) | public DoubleSerializer(String decimalFormat){
method write (line 43) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/serializer/EnumSerializer.java
class EnumSerializer (line 26) | public class EnumSerializer implements ObjectSerializer {
method EnumSerializer (line 30) | public EnumSerializer() {
method EnumSerializer (line 34) | public EnumSerializer(Member member) {
method write (line 40) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/serializer/EnumerationSerializer.java
class EnumerationSerializer (line 9) | public class EnumerationSerializer implements ObjectSerializer {
method write (line 12) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/serializer/FieldSerializer.java
class FieldSerializer (line 32) | public class FieldSerializer implements Comparable<FieldSerializer> {
method FieldSerializer (line 56) | public FieldSerializer(Class<?> beanType, FieldInfo fieldInfo) {
method writePrefix (line 121) | public void writePrefix(JSONSerializer serializer) throws IOException {
method getPropertyValueDirect (line 142) | public Object getPropertyValueDirect(Object object) throws InvocationT...
method getPropertyValue (line 150) | public Object getPropertyValue(Object object) throws InvocationTargetE...
method compareTo (line 162) | public int compareTo(FieldSerializer o) {
method writeValue (line 167) | public void writeValue(JSONSerializer serializer, Object propertyValue...
class RuntimeSerializerInfo (line 321) | static class RuntimeSerializerInfo {
method RuntimeSerializerInfo (line 325) | public RuntimeSerializerInfo(ObjectSerializer fieldSerializer, Class...
FILE: src/main/java/com/alibaba/fastjson/serializer/FloatCodec.java
class FloatCodec (line 33) | public class FloatCodec implements ObjectSerializer, ObjectDeserializer {
method FloatCodec (line 38) | public FloatCodec(){
method FloatCodec (line 42) | public FloatCodec(DecimalFormat decimalFormat){
method FloatCodec (line 46) | public FloatCodec(String decimalFormat){
method write (line 50) | public void write(JSONSerializer serializer, Object object, Object fie...
method deserialze (line 67) | @SuppressWarnings("unchecked")
method deserialze (line 76) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 101) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/GuavaCodec.java
class GuavaCodec (line 19) | public class GuavaCodec implements ObjectSerializer, ObjectDeserializer {
method write (line 22) | public void write(JSONSerializer serializer, Object object, Object fie...
method deserialze (line 30) | public <T> T deserialze(DefaultJSONParser parser, Type type, Object fi...
method getFastMatchToken (line 53) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/IntegerCodec.java
class IntegerCodec (line 34) | public class IntegerCodec implements ObjectSerializer, ObjectDeserializer {
method write (line 38) | public void write(JSONSerializer serializer, Object object, Object fie...
method deserialze (line 64) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 112) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/JSONAwareSerializer.java
class JSONAwareSerializer (line 26) | public class JSONAwareSerializer implements ObjectSerializer {
method write (line 30) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/serializer/JSONLibDataFormatSerializer.java
class JSONLibDataFormatSerializer (line 9) | public class JSONLibDataFormatSerializer implements ObjectSerializer {
method JSONLibDataFormatSerializer (line 11) | public JSONLibDataFormatSerializer(){
method write (line 14) | @SuppressWarnings("deprecation")
FILE: src/main/java/com/alibaba/fastjson/serializer/JSONObjectCodec.java
class JSONObjectCodec (line 8) | public class JSONObjectCodec implements ObjectSerializer {
method write (line 11) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/serializer/JSONSerializable.java
type JSONSerializable (line 24) | public interface JSONSerializable {
method write (line 34) | void write(JSONSerializer serializer, //
FILE: src/main/java/com/alibaba/fastjson/serializer/JSONSerializableSerializer.java
class JSONSerializableSerializer (line 24) | public class JSONSerializableSerializer implements ObjectSerializer {
method write (line 28) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/serializer/JSONSerializer.java
class JSONSerializer (line 34) | public class JSONSerializer extends SerializeFilterable {
method JSONSerializer (line 59) | public JSONSerializer(){
method JSONSerializer (line 63) | public JSONSerializer(SerializeWriter out){
method JSONSerializer (line 67) | public JSONSerializer(SerializeConfig config){
method JSONSerializer (line 71) | public JSONSerializer(SerializeWriter out, SerializeConfig config){
method getDateFormatPattern (line 76) | public String getDateFormatPattern() {
method getDateFormat (line 83) | public DateFormat getDateFormat() {
method generateDateFormat (line 93) | private DateFormat generateDateFormat(String dateFormatPattern) {
method setDateFormat (line 100) | public void setDateFormat(DateFormat dateFormat) {
method setDateFormat (line 107) | public void setDateFormat(String dateFormat) {
method setFastJsonConfigDateFormatPattern (line 119) | public void setFastJsonConfigDateFormatPattern(String dateFormatPatter...
method getFastJsonConfigDateFormatPattern (line 123) | public String getFastJsonConfigDateFormatPattern() {
method getContext (line 127) | public SerialContext getContext() {
method setContext (line 131) | public void setContext(SerialContext context) {
method setContext (line 135) | public void setContext(SerialContext parent, Object object, Object fie...
method setContext (line 139) | public void setContext(SerialContext parent, Object object, Object fie...
method setContext (line 151) | public void setContext(Object object, Object fieldName) {
method popContext (line 155) | public void popContext() {
method isWriteClassName (line 161) | public final boolean isWriteClassName(Type fieldType, Object obj) {
method containsReference (line 168) | public boolean containsReference(Object value) {
method writeReference (line 187) | public void writeReference(Object object) {
method checkValue (line 223) | public boolean checkValue(SerializeFilterable filterable) {
method hasNameFilters (line 231) | public boolean hasNameFilters(SerializeFilterable filterable) {
method hasPropertyFilters (line 236) | public boolean hasPropertyFilters(SerializeFilterable filterable) {
method getIndentCount (line 241) | public int getIndentCount() {
method incrementIndent (line 245) | public void incrementIndent() {
method decrementIdent (line 249) | public void decrementIdent() {
method println (line 253) | public void println() {
method getWriter (line 260) | public SerializeWriter getWriter() {
method toString (line 264) | public String toString() {
method config (line 268) | public void config(SerializerFeature feature, boolean state) {
method isEnabled (line 272) | public boolean isEnabled(SerializerFeature feature) {
method writeNull (line 276) | public void writeNull() {
method getMapping (line 280) | public SerializeConfig getMapping() {
method write (line 284) | public static void write(Writer out, Object object) {
method write (line 297) | public static void write(SerializeWriter out, Object object) {
method write (line 302) | public final void write(Object object) {
method writeAs (line 322) | public final void writeAs(Object object, Class type) {
method writeWithFieldName (line 337) | public final void writeWithFieldName(Object object, Object fieldName) {
method writeKeyValue (line 341) | protected final void writeKeyValue(char seperator, String key, Object ...
method writeWithFieldName (line 349) | public final void writeWithFieldName(Object object, Object fieldName, ...
method writeWithFormat (line 366) | public final void writeWithFormat(Object object, String format) {
method write (line 443) | public final void write(String text) {
method getObjectWriter (line 447) | public ObjectSerializer getObjectWriter(Class<?> clazz) {
method close (line 451) | public void close() {
FILE: src/main/java/com/alibaba/fastjson/serializer/JSONSerializerMap.java
class JSONSerializerMap (line 4) | @Deprecated
method put (line 6) | public final boolean put(Class<?> clazz, ObjectSerializer serializer) {
FILE: src/main/java/com/alibaba/fastjson/serializer/JavaBeanSerializer.java
class JavaBeanSerializer (line 45) | public class JavaBeanSerializer extends SerializeFilterable implements O...
method JavaBeanSerializer (line 55) | public JavaBeanSerializer(Class<?> beanType){
method JavaBeanSerializer (line 59) | public JavaBeanSerializer(Class<?> beanType, String... aliasList){
method createAliasMap (line 63) | static Map<String, String> createAliasMap(String... aliasList) {
method getJSONType (line 72) | public JSONType getJSONType() {
method getType (line 79) | public Class<?> getType() {
method JavaBeanSerializer (line 83) | public JavaBeanSerializer(Class<?> beanType, Map<String, String> alias...
method JavaBeanSerializer (line 87) | public JavaBeanSerializer(SerializeBeanInfo beanInfo) {
method writeDirectNonContext (line 125) | public void writeDirectNonContext(JSONSerializer serializer, //
method writeAsArray (line 133) | public void writeAsArray(JSONSerializer serializer, //
method writeAsArrayNonContext (line 141) | public void writeAsArrayNonContext(JSONSerializer serializer, //
method write (line 149) | public void write(JSONSerializer serializer, //
method writeNoneASM (line 157) | public void writeNoneASM(JSONSerializer serializer, //
method write (line 165) | protected void write(JSONSerializer serializer, //
method writeClassName (line 547) | protected void writeClassName(JSONSerializer serializer, String typeKe...
method writeReference (line 565) | public boolean writeReference(JSONSerializer serializer, Object object...
method isWriteAsArray (line 580) | protected boolean isWriteAsArray(JSONSerializer serializer) {
method isWriteAsArray (line 584) | protected boolean isWriteAsArray(JSONSerializer serializer, int fieldF...
method getFieldValue (line 591) | public Object getFieldValue(Object object, String key) {
method getFieldValue (line 606) | public Object getFieldValue(Object object, String key, long keyHash, b...
method getFieldSerializer (line 624) | public FieldSerializer getFieldSerializer(String key) {
method getFieldSerializer (line 651) | public FieldSerializer getFieldSerializer(long hash) {
method getFieldValues (line 721) | public List<Object> getFieldValues(Object object) throws Exception {
method getObjectFieldValues (line 731) | public List<Object> getObjectFieldValues(Object object) throws Excepti...
method getSize (line 747) | public int getSize(Object object) throws Exception {
method getFieldNames (line 766) | public Set<String> getFieldNames(Object object) throws Exception {
method getFieldValuesMap (line 777) | public Map<String, Object> getFieldValuesMap(Object object) throws Exc...
method getBeanContext (line 806) | protected BeanContext getBeanContext(int orinal) {
method getFieldType (line 810) | protected Type getFieldType(int ordinal) {
method writeBefore (line 814) | protected char writeBefore(JSONSerializer jsonBeanDeser, //
method writeAfter (line 832) | protected char writeAfter(JSONSerializer jsonBeanDeser, //
method applyLabel (line 849) | protected boolean applyLabel(JSONSerializer jsonBeanDeser, String labe...
FILE: src/main/java/com/alibaba/fastjson/serializer/JodaCodec.java
class JodaCodec (line 19) | public class JodaCodec implements ObjectSerializer, ContextObjectSeriali...
method deserialze (line 52) | public <T> T deserialze(DefaultJSONParser parser, Type type, Object fi...
method deserialze (line 56) | public <T> T deserialze(DefaultJSONParser parser, Type type, Object fi...
method parseDateTime (line 204) | protected LocalDateTime parseDateTime(String text, DateTimeFormatter f...
method parseLocalDate (line 302) | protected LocalDate parseLocalDate(String text, String format, DateTim...
method parseZonedDateTime (line 373) | protected DateTime parseZonedDateTime(String text, DateTimeFormatter f...
method getFastMatchToken (line 441) | public int getFastMatchToken() {
method write (line 445) | public void write(JSONSerializer serializer, Object object, Object fie...
method write (line 486) | public void write(JSONSerializer serializer, Object object, BeanContex...
method write (line 492) | private void write(SerializeWriter out, ReadablePartial object, String...
FILE: src/main/java/com/alibaba/fastjson/serializer/LabelFilter.java
type LabelFilter (line 22) | public interface LabelFilter extends SerializeFilter {
method apply (line 23) | boolean apply(String label);
FILE: src/main/java/com/alibaba/fastjson/serializer/Labels.java
class Labels (line 23) | public class Labels {
class DefaultLabelFilter (line 25) | private static class DefaultLabelFilter implements LabelFilter {
method DefaultLabelFilter (line 30) | public DefaultLabelFilter(String[] includes, String[] excludes){
method apply (line 43) | public boolean apply(String label) {
method includes (line 53) | public static LabelFilter includes(String... views) {
method excludes (line 57) | public static LabelFilter excludes(String... views) {
FILE: src/main/java/com/alibaba/fastjson/serializer/ListSerializer.java
class ListSerializer (line 27) | public final class ListSerializer implements ObjectSerializer {
method write (line 31) | public final void write(JSONSerializer serializer, Object object, Obje...
FILE: src/main/java/com/alibaba/fastjson/serializer/LongCodec.java
class LongCodec (line 34) | public class LongCodec implements ObjectSerializer, ObjectDeserializer {
method write (line 38) | public void write(JSONSerializer serializer, Object object, Object fie...
method deserialze (line 56) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 94) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/MapSerializer.java
class MapSerializer (line 29) | public class MapSerializer extends SerializeFilterable implements Object...
method write (line 39) | public void write(JSONSerializer serializer
method write (line 47) | @SuppressWarnings({ "rawtypes"})
FILE: src/main/java/com/alibaba/fastjson/serializer/MiscCodec.java
class MiscCodec (line 56) | public class MiscCodec implements ObjectSerializer, ObjectDeserializer {
method write (line 66) | public void write(JSONSerializer serializer, Object object, Object fie...
method toString (line 169) | private static String toString(org.w3c.dom.Node node) {
method writeIterator (line 183) | protected void writeIterator(JSONSerializer serializer, SerializeWrite...
method deserialze (line 198) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 405) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/NameFilter.java
type NameFilter (line 18) | public interface NameFilter extends SerializeFilter {
method process (line 19) | String process(Object object, String name, Object value);
FILE: src/main/java/com/alibaba/fastjson/serializer/ObjectArrayCodec.java
class ObjectArrayCodec (line 35) | public class ObjectArrayCodec implements ObjectSerializer, ObjectDeseria...
method ObjectArrayCodec (line 39) | public ObjectArrayCodec(){
method write (line 42) | public final void write(JSONSerializer serializer, Object object, Obje...
method deserialze (line 127) | @SuppressWarnings({ "unchecked", "rawtypes" })
method toObjectArray (line 188) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 245) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/ObjectSerializer.java
type ObjectSerializer (line 58) | public interface ObjectSerializer {
method write (line 70) | void write(JSONSerializer serializer, //
FILE: src/main/java/com/alibaba/fastjson/serializer/PascalNameFilter.java
class PascalNameFilter (line 3) | public class PascalNameFilter implements NameFilter {
method process (line 5) | public String process(Object source, String name, Object value) {
FILE: src/main/java/com/alibaba/fastjson/serializer/PrimitiveArraySerializer.java
class PrimitiveArraySerializer (line 24) | public class PrimitiveArraySerializer implements ObjectSerializer {
method write (line 28) | public final void write(JSONSerializer serializer, Object object, Obje...
FILE: src/main/java/com/alibaba/fastjson/serializer/PropertyFilter.java
type PropertyFilter (line 21) | public interface PropertyFilter extends SerializeFilter {
method apply (line 29) | boolean apply(Object object, String name, Object value);
FILE: src/main/java/com/alibaba/fastjson/serializer/PropertyPreFilter.java
type PropertyPreFilter (line 18) | public interface PropertyPreFilter extends SerializeFilter {
method apply (line 20) | boolean apply(JSONSerializer serializer, Object object, String name);
FILE: src/main/java/com/alibaba/fastjson/serializer/ReferenceCodec.java
class ReferenceCodec (line 33) | public class ReferenceCodec implements ObjectSerializer, ObjectDeseriali...
method write (line 37) | @SuppressWarnings("rawtypes")
method deserialze (line 49) | @SuppressWarnings({ "unchecked", "rawtypes" })
method getFastMatchToken (line 72) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/SerialContext.java
class SerialContext (line 3) | public class SerialContext {
method SerialContext (line 10) | public SerialContext(SerialContext parent, Object object, Object field...
method toString (line 17) | public String toString() {
method toString (line 27) | protected void toString(StringBuilder buf) {
method getParent (line 82) | public SerialContext getParent() {
method getObject (line 89) | public Object getObject() {
method getFieldName (line 96) | public Object getFieldName() {
method getPath (line 103) | public String getPath() {
FILE: src/main/java/com/alibaba/fastjson/serializer/SerializeBeanInfo.java
class SerializeBeanInfo (line 6) | public class SerializeBeanInfo {
method SerializeBeanInfo (line 18) | public SerializeBeanInfo(Class<?> beanType, //
FILE: src/main/java/com/alibaba/fastjson/serializer/SerializeConfig.java
class SerializeConfig (line 51) | public class SerializeConfig {
method getTypeKey (line 81) | public String getTypeKey() {
method setTypeKey (line 85) | public void setTypeKey(String typeKey) {
method createASMSerializer (line 89) | private final JavaBeanSerializer createASMSerializer(SerializeBeanInfo...
method createJavaBeanSerializer (line 106) | public final ObjectSerializer createJavaBeanSerializer(Class<?> clazz) {
method createJavaBeanSerializer (line 121) | public ObjectSerializer createJavaBeanSerializer(SerializeBeanInfo bea...
method isAsmEnable (line 275) | public boolean isAsmEnable() {
method setAsmEnable (line 279) | public void setAsmEnable(boolean asmEnable) {
method getGlobalInstance (line 286) | public static SerializeConfig getGlobalInstance() {
method SerializeConfig (line 290) | public SerializeConfig() {
method SerializeConfig (line 294) | public SerializeConfig(boolean fieldBase) {
method SerializeConfig (line 298) | public SerializeConfig(int tableSize) {
method SerializeConfig (line 302) | public SerializeConfig(int tableSize, boolean fieldBase) {
method initSerializers (line 317) | private void initSerializers() {
method addFilter (line 376) | public void addFilter(Class<?> clazz, SerializeFilter filter) {
method config (line 398) | public void config(Class<?> clazz, SerializerFeature feature, boolean ...
method getObjectWriter (line 439) | public ObjectSerializer getObjectWriter(Class<?> clazz) {
method getObjectWriter (line 443) | public ObjectSerializer getObjectWriter(Class<?> clazz, boolean create) {
method getEnumValueField (line 833) | private static Member getEnumValueField(Class clazz) {
method getEnumSerializer (line 873) | protected ObjectSerializer getEnumSerializer(){
method get (line 877) | public final ObjectSerializer get(Type type) {
method put (line 889) | public boolean put(Object type, Object value) {
method put (line 893) | public boolean put(Type type, ObjectSerializer value) {
method configEnumAsJavaBean (line 911) | public void configEnumAsJavaBean(Class<? extends Enum>... enumClasses) {
method setPropertyNamingStrategy (line 921) | public void setPropertyNamingStrategy(PropertyNamingStrategy propertyN...
method clearSerializers (line 925) | public void clearSerializers() {
method register (line 930) | public void register(Module module) {
FILE: src/main/java/com/alibaba/fastjson/serializer/SerializeFilter.java
type SerializeFilter (line 4) | public interface SerializeFilter {
FILE: src/main/java/com/alibaba/fastjson/serializer/SerializeFilterable.java
class SerializeFilterable (line 9) | public abstract class SerializeFilterable {
method getBeforeFilters (line 22) | public List<BeforeFilter> getBeforeFilters() {
method getAfterFilters (line 31) | public List<AfterFilter> getAfterFilters() {
method getNameFilters (line 40) | public List<NameFilter> getNameFilters() {
method getPropertyPreFilters (line 49) | public List<PropertyPreFilter> getPropertyPreFilters() {
method getLabelFilters (line 58) | public List<LabelFilter> getLabelFilters() {
method getPropertyFilters (line 67) | public List<PropertyFilter> getPropertyFilters() {
method getContextValueFilters (line 76) | public List<ContextValueFilter> getContextValueFilters() {
method getValueFilters (line 85) | public List<ValueFilter> getValueFilters() {
method addFilter (line 94) | public void addFilter(SerializeFilter filter) {
method applyName (line 132) | public boolean applyName(JSONSerializer jsonBeanDeser, //
method apply (line 154) | public boolean apply(JSONSerializer jsonBeanDeser, //
method processKey (line 177) | protected String processKey(JSONSerializer jsonBeanDeser, //
method processValue (line 197) | protected Object processValue(JSONSerializer jsonBeanDeser, //
method processValue (line 205) | protected Object processValue(JSONSerializer jsonBeanDeser, //
method writeDirect (line 266) | protected boolean writeDirect(JSONSerializer jsonBeanDeser) {
FILE: src/main/java/com/alibaba/fastjson/serializer/SerializeWriter.java
class SerializeWriter (line 36) | public final class SerializeWriter extends Writer {
method SerializeWriter (line 86) | public SerializeWriter(){
method SerializeWriter (line 90) | public SerializeWriter(Writer writer){
method SerializeWriter (line 94) | public SerializeWriter(SerializerFeature... features){
method SerializeWriter (line 98) | public SerializeWriter(Writer writer, SerializerFeature... features){
method SerializeWriter (line 108) | public SerializeWriter(Writer writer, int defaultFeatures, SerializerF...
method getMaxBufSize (line 128) | public int getMaxBufSize() {
method setMaxBufSize (line 132) | public void setMaxBufSize(int maxBufSize) {
method getBufferLength (line 140) | public int getBufferLength() {
method SerializeWriter (line 144) | public SerializeWriter(int initialSize){
method SerializeWriter (line 148) | public SerializeWriter(Writer writer, int initialSize){
method config (line 159) | public void config(SerializerFeature feature, boolean state) {
method computeFeatures (line 186) | protected void computeFeatures() {
method isSortField (line 226) | public boolean isSortField() {
method isNotWriteDefaultValue (line 230) | public boolean isNotWriteDefaultValue() {
method isEnabled (line 234) | public boolean isEnabled(SerializerFeature feature) {
method isEnabled (line 238) | public boolean isEnabled(int feature) {
method write (line 245) | public void write(int c) {
method write (line 266) | public void write(char c[], int off, int len) {
method expandCapacity (line 298) | public void expandCapacity(int minimumCapacity) {
method append (line 321) | public SerializeWriter append(CharSequence csq) {
method append (line 327) | public SerializeWriter append(CharSequence csq, int start, int end) {
method append (line 333) | public SerializeWriter append(char c) {
method write (line 345) | public void write(String str, int off, int len) {
method writeTo (line 372) | public void writeTo(Writer out) throws IOException {
method writeTo (line 379) | public void writeTo(OutputStream out, String charsetName) throws IOExc...
method writeTo (line 383) | public void writeTo(OutputStream out, Charset charset) throws IOExcept...
method writeToEx (line 387) | public int writeToEx(OutputStream out, Charset charset) throws IOExcep...
method toCharArray (line 406) | public char[] toCharArray() {
method toCharArrayForSpringWebSocket (line 420) | public char[] toCharArrayForSpringWebSocket() {
method toBytes (line 430) | public byte[] toBytes(String charsetName) {
method toBytes (line 436) | public byte[] toBytes(Charset charset) {
method encodeToUTF8 (line 448) | private int encodeToUTF8(OutputStream out) throws IOException {
method encodeToUTF8Bytes (line 473) | private byte[] encodeToUTF8Bytes() {
method size (line 498) | public int size() {
method toString (line 502) | public String toString() {
method close (line 510) | public void close() {
method write (line 521) | public void write(String text) {
method writeInt (line 530) | public void writeInt(int i) {
method writeByteArray (line 555) | public void writeByteArray(byte[] bytes) {
method writeHex (line 640) | public void writeHex(byte[] bytes) {
method writeFloat (line 662) | public void writeFloat(float value, boolean checkWriteClassName) {
method writeDouble (line 690) | public void writeDouble(double value, boolean checkWriteClassName) {
method writeEnum (line 720) | public void writeEnum(Enum<?> value) {
method writeLongAndChar (line 746) | public void writeLongAndChar(long i, char c) throws IOException {
method writeLong (line 751) | public void writeLong(long i) {
method writeNull (line 797) | public void writeNull() {
method writeNull (line 801) | public void writeNull(SerializerFeature feature) {
method writeNull (line 805) | public void writeNull(int beanFeatures , int feature) {
method writeStringWithDoubleQuote (line 831) | public void writeStringWithDoubleQuote(String text, final char seperat...
method writeStringWithDoubleQuote (line 1215) | public void writeStringWithDoubleQuote(char[] text, final char seperat...
method writeFieldNameDirect (line 1598) | public void writeFieldNameDirect(String text) {
method write (line 1616) | public void write(List<String> list) {
method writeFieldValue (line 1685) | public void writeFieldValue(char seperator, String name, char value) {
method writeFieldValue (line 1695) | public void writeFieldValue(char seperator, String name, boolean value) {
method write (line 1737) | public void write(boolean value) {
method writeFieldValue (line 1745) | public void writeFieldValue(char seperator, String name, int value) {
method writeFieldValue (line 1784) | public void writeFieldValue(char seperator, String name, long value) {
method writeFieldValue (line 1826) | public void writeFieldValue(char seperator, String name, float value) {
method writeFieldValue (line 1832) | public void writeFieldValue(char seperator, String name, double value) {
method writeFieldValue (line 1838) | public void writeFieldValue(char seperator, String name, String value) {
method writeFieldValueStringWithDoubleQuoteCheck (line 1868) | public void writeFieldValueStringWithDoubleQuoteCheck(char seperator, ...
method writeFieldValueStringWithDoubleQuote (line 2091) | public void writeFieldValueStringWithDoubleQuote(char seperator, Strin...
method writeFieldValue (line 2133) | public void writeFieldValue(char seperator, String name, Enum<?> value) {
method writeEnumFieldValue (line 2150) | private void writeEnumFieldValue(char seperator, String name, String v...
method writeFieldValue (line 2158) | public void writeFieldValue(char seperator, String name, BigDecimal va...
method writeString (line 2172) | public void writeString(String text, char seperator) {
method writeString (line 2181) | public void writeString(String text) {
method writeString (line 2189) | public void writeString(char[] chars) {
method writeStringWithSingleQuote (line 2198) | protected void writeStringWithSingleQuote(String text) {
method writeStringWithSingleQuote (line 2281) | protected void writeStringWithSingleQuote(char[] chars) {
method writeFieldName (line 2365) | public void writeFieldName(String key) {
method writeFieldName (line 2369) | public void writeFieldName(String key, boolean checkSpecial) {
method writeKeyWithSingleQuoteIfHasSpecial (line 2405) | private void writeKeyWithSingleQuoteIfHasSpecial(String text) {
method flush (line 2506) | public void flush() {
method reset (line 2523) | public void reset() {
FILE: src/main/java/com/alibaba/fastjson/serializer/SerializerFeature.java
type SerializerFeature (line 21) | public enum SerializerFeature {
method SerializerFeature (line 157) | SerializerFeature(){
method getMask (line 163) | public final int getMask() {
method isEnabled (line 167) | public static boolean isEnabled(int features, SerializerFeature featur...
method isEnabled (line 171) | public static boolean isEnabled(int features, int featuresB, Serialize...
method config (line 177) | public static int config(int features, SerializerFeature feature, bool...
method of (line 187) | public static int of(SerializerFeature[] features) {
FILE: src/main/java/com/alibaba/fastjson/serializer/SimpleDateFormatSerializer.java
class SimpleDateFormatSerializer (line 8) | public class SimpleDateFormatSerializer implements ObjectSerializer {
method SimpleDateFormatSerializer (line 12) | public SimpleDateFormatSerializer(String pattern){
method write (line 16) | public void write(JSONSerializer serializer, Object object, Object fie...
FILE: src/main/java/com/alibaba/fastjson/serializer/SimplePropertyPreFilter.java
class SimplePropertyPreFilter (line 21) | public class SimplePropertyPreFilter implements PropertyPreFilter {
method SimplePropertyPreFilter (line 28) | public SimplePropertyPreFilter(String... properties){
method SimplePropertyPreFilter (line 32) | public SimplePropertyPreFilter(Class<?> clazz, String... properties){
method getMaxLevel (line 45) | public int getMaxLevel() {
method setMaxLevel (line 52) | public void setMaxLevel(int maxLevel) {
method getClazz (line 56) | public Class<?> getClazz() {
method getIncludes (line 60) | public Set<String> getIncludes() {
method getExcludes (line 64) | public Set<String> getExcludes() {
method apply (line 68) | public boolean apply(JSONSerializer serializer, Object source, String ...
FILE: src/main/java/com/alibaba/fastjson/serializer/StringCodec.java
class StringCodec (line 29) | public class StringCodec implements ObjectSerializer, ObjectDeserializer {
method write (line 33) | public void write(JSONSerializer serializer, Object object, Object fie...
method write (line 38) | public void write(JSONSerializer serializer, String value) {
method deserialze (line 49) | @SuppressWarnings("unchecked")
method deserialze (line 90) | @SuppressWarnings("unchecked")
method getFastMatchToken (line 114) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/serializer/ToStringSerializer.java
class ToStringSerializer (line 6) | public class ToStringSerializer implements ObjectSerializer {
method write (line 10) | @Override
FILE: src/main/java/com/alibaba/fastjson/serializer/ValueFilter.java
type ValueFilter (line 18) | public interface ValueFilter extends SerializeFilter {
method process (line 20) | Object process(Object object, String name, Object value);
FILE: src/main/java/com/alibaba/fastjson/spi/Module.java
type Module (line 8) | public interface Module {
method createDeserializer (line 9) | ObjectDeserializer createDeserializer(ParserConfig config, Class type);
method createSerializer (line 10) | ObjectSerializer createSerializer(SerializeConfig config, Class type);
FILE: src/main/java/com/alibaba/fastjson/support/config/FastJsonConfig.java
class FastJsonConfig (line 29) | public class FastJsonConfig {
method FastJsonConfig (line 84) | public FastJsonConfig() {
method getSerializeConfig (line 104) | public SerializeConfig getSerializeConfig() {
method setSerializeConfig (line 111) | public void setSerializeConfig(SerializeConfig serializeConfig) {
method getParserConfig (line 118) | public ParserConfig getParserConfig() {
method setParserConfig (line 125) | public void setParserConfig(ParserConfig parserConfig) {
method getSerializerFeatures (line 132) | public SerializerFeature[] getSerializerFeatures() {
method setSerializerFeatures (line 139) | public void setSerializerFeatures(SerializerFeature... serializerFeatu...
method getSerializeFilters (line 146) | public SerializeFilter[] getSerializeFilters() {
method setSerializeFilters (line 153) | public void setSerializeFilters(SerializeFilter... serializeFilters) {
method getFeatures (line 160) | public Feature[] getFeatures() {
method setFeatures (line 167) | public void setFeatures(Feature... features) {
method getClassSerializeFilters (line 174) | public Map<Class<?>, SerializeFilter> getClassSerializeFilters() {
method setClassSerializeFilters (line 181) | public void setClassSerializeFilters(
method getDateFormat (line 197) | public String getDateFormat() {
method setDateFormat (line 204) | public void setDateFormat(String dateFormat) {
method getCharset (line 211) | public Charset getCharset() {
method setCharset (line 218) | public void setCharset(Charset charset) {
method isWriteContentLength (line 227) | public boolean isWriteContentLength() {
method setWriteContentLength (line 236) | public void setWriteContentLength(boolean writeContentLength) {
method getParseProcess (line 245) | public ParseProcess getParseProcess() {
method setParseProcess (line 254) | public void setParseProcess(ParseProcess parseProcess) {
FILE: src/main/java/com/alibaba/fastjson/support/geo/Feature.java
class Feature (line 11) | @JSONType(typeName = "Feature", orders = {"type", "id", "bbox", "coordin...
method Feature (line 18) | public Feature() {
method getGeometry (line 22) | public Geometry getGeometry() {
method setGeometry (line 26) | public void setGeometry(Geometry geometry) {
method getProperties (line 30) | public Map<String, String> getProperties() {
method setProperties (line 34) | public void setProperties(Map<String, String> properties) {
method getId (line 38) | public String getId() {
method setId (line 42) | public void setId(String id) {
FILE: src/main/java/com/alibaba/fastjson/support/geo/FeatureCollection.java
class FeatureCollection (line 11) | @JSONType(typeName = "FeatureCollection", orders = {"type", "bbox", "coo...
method FeatureCollection (line 16) | public FeatureCollection() {
method getFeatures (line 20) | public List<Feature> getFeatures() {
FILE: src/main/java/com/alibaba/fastjson/support/geo/Geometry.java
class Geometry (line 8) | @JSONType(seeAlso = {GeometryCollection.class
method Geometry (line 22) | protected Geometry(String type) {
method getType (line 26) | public String getType() {
method getBbox (line 30) | public double[] getBbox() {
method setBbox (line 34) | public void setBbox(double[] bbox) {
FILE: src/main/java/com/alibaba/fastjson/support/geo/GeometryCollection.java
class GeometryCollection (line 10) | @JSONType(typeName = "GeometryCollection", orders = {"type", "bbox", "ge...
method GeometryCollection (line 14) | public GeometryCollection() {
method getGeometries (line 18) | public List<Geometry> getGeometries() {
FILE: src/main/java/com/alibaba/fastjson/support/geo/LineString.java
class LineString (line 8) | @JSONType(typeName = "LineString", orders = {"type", "bbox", "coordinate...
method LineString (line 12) | public LineString() {
method getCoordinates (line 16) | public double[][] getCoordinates() {
method setCoordinates (line 20) | public void setCoordinates(double[][] coordinates) {
FILE: src/main/java/com/alibaba/fastjson/support/geo/MultiLineString.java
class MultiLineString (line 8) | @JSONType(typeName = "MultiLineString", orders = {"type", "bbox", "coord...
method MultiLineString (line 12) | public MultiLineString() {
method getCoordinates (line 16) | public double[][][] getCoordinates() {
method setCoordinates (line 20) | public void setCoordinates(double[][][] coordinates) {
FILE: src/main/java/com/alibaba/fastjson/support/geo/MultiPoint.java
class MultiPoint (line 8) | @JSONType(typeName = "MultiPoint", orders = {"type", "bbox", "coordinate...
method MultiPoint (line 12) | public MultiPoint() {
method getCoordinates (line 16) | public double[][] getCoordinates() {
method setCoordinates (line 20) | public void setCoordinates(double[][] coordinates) {
FILE: src/main/java/com/alibaba/fastjson/support/geo/MultiPolygon.java
class MultiPolygon (line 8) | @JSONType(typeName = "MultiPolygon", orders = {"type", "bbox", "coordina...
method MultiPolygon (line 13) | public MultiPolygon() {
method getCoordinates (line 17) | public double[][][][] getCoordinates() {
method setCoordinates (line 21) | public void setCoordinates(double[][][][] coordinates) {
FILE: src/main/java/com/alibaba/fastjson/support/geo/Point.java
class Point (line 9) | @JSONType(typeName = "Point", orders = {"type", "bbox", "coordinates"})
method Point (line 14) | public Point() {
method getCoordinates (line 18) | public double[] getCoordinates() {
method setCoordinates (line 22) | public void setCoordinates(double[] coordinates) {
method getLongitude (line 38) | @JSONField(serialize = false)
method getLatitude (line 43) | @JSONField(serialize = false)
method setLongitude (line 48) | @JSONField(deserialize = false)
method setLatitude (line 53) | @JSONField(deserialize = false)
FILE: src/main/java/com/alibaba/fastjson/support/geo/Polygon.java
class Polygon (line 8) | @JSONType(typeName = "Polygon", orders = {"type", "bbox", "coordinates"})
method Polygon (line 12) | public Polygon() {
method getCoordinates (line 16) | public double[][][] getCoordinates() {
method setCoordinates (line 20) | public void setCoordinates(double[][][] coordinates) {
FILE: src/main/java/com/alibaba/fastjson/support/hsf/HSFJSONUtils.java
class HSFJSONUtils (line 14) | public class HSFJSONUtils {
method parseInvocationArguments (line 21) | public static Object[] parseInvocationArguments(String json, MethodLoc...
FILE: src/main/java/com/alibaba/fastjson/support/hsf/MethodLocator.java
type MethodLocator (line 5) | public interface MethodLocator {
method findMethod (line 6) | Method findMethod(String[] types);
FILE: src/main/java/com/alibaba/fastjson/support/jaxrs/FastJsonAutoDiscoverable.java
class FastJsonAutoDiscoverable (line 17) | @Priority(AutoDiscoverable.DEFAULT_PRIORITY - 1)
method configure (line 33) | public void configure(final FeatureContext context) {
FILE: src/main/java/com/alibaba/fastjson/support/jaxrs/FastJsonFeature.java
class FastJsonFeature (line 21) | public class FastJsonFeature implements Feature {
method configure (line 25) | @Override
FILE: src/main/java/com/alibaba/fastjson/support/jaxrs/FastJsonProvider.java
class FastJsonProvider (line 33) | @Provider
method getFastJsonConfig (line 97) | public FastJsonConfig getFastJsonConfig() {
method setFastJsonConfig (line 105) | public void setFastJsonConfig(FastJsonConfig fastJsonConfig) {
method FastJsonProvider (line 112) | public FastJsonProvider() {
method FastJsonProvider (line 119) | public FastJsonProvider(Class<?>[] clazzes) {
method setPretty (line 126) | public FastJsonProvider setPretty(boolean p) {
method FastJsonProvider (line 138) | @Deprecated
method getCharset (line 150) | @Deprecated
method setCharset (line 162) | @Deprecated
method getDateFormat (line 174) | @Deprecated
method setDateFormat (line 186) | @Deprecated
method getFeatures (line 198) | @Deprecated
method setFeatures (line 210) | @Deprecated
method getFilters (line 222) | @Deprecated
method setFilters (line 234) | @Deprecated
method isAssignableFrom (line 246) | protected boolean isAssignableFrom(Class<?> type, Class<?>[] classes) {
method isValidType (line 268) | protected boolean isValidType(Class<?> type, Annotation[] classAnnotat...
method hasMatchingMediaType (line 291) | protected boolean hasMatchingMediaType(MediaType mediaType) {
method isWriteable (line 310) | public boolean isWriteable(Class<?> type, //
method getSize (line 328) | public long getSize(Object t, //
method writeTo (line 339) | public void writeTo(Object obj, //
method isReadable (line 385) | public boolean isReadable(Class<?> type, //
method readFrom (line 403) | public Object readFrom(Class<Object> type, //
method locateConfigProvider (line 430) | protected FastJsonConfig locateConfigProvider(Class<?> type, MediaType...
FILE: src/main/java/com/alibaba/fastjson/support/moneta/MonetaCodec.java
class MonetaCodec (line 17) | public class MonetaCodec implements ObjectSerializer, ObjectDeserializer {
method write (line 20) | public void write(JSONSerializer serializer, Object object, Object fie...
method deserialze (line 33) | public <T> T deserialze(DefaultJSONParser parser, Type type, Object fi...
method getFastMatchToken (line 54) | public int getFastMatchToken() {
FILE: src/main/java/com/alibaba/fastjson/support/retrofit/Retrofit2ConverterFactory.java
class Retrofit2ConverterFactory (line 23) | public class Retrofit2ConverterFactory extends Converter.Factory {
method Retrofit2ConverterFactory (line 42) | public Retrofit2ConverterFactory() {
method Retrofit2ConverterFactory (line 46) | public Retrofit2ConverterFactory(FastJsonConfig fastJsonConfig) {
method create (line 50) | public static Retrofit2ConverterFactory create() {
method create (line 54) | public static Retrofit2ConverterFactory create(FastJsonConfig fastJson...
method responseBodyConverter (line 59) | @Override
method requestBodyConverter (line 66) | @Override
method getFastJsonConfig (line 74) | public FastJsonConfig getFastJsonConfig() {
method setFastJsonConfig (line 78) | public Retrofit2ConverterFactory setFastJsonConfig(FastJsonConfig fast...
method getParserConfig (line 90) | @Deprecated
method setParserConfig (line 103) | @Deprecated
method getParserFeatureValues (line 116) | @Deprecated
method setParserFeatureValues (line 129) | @Deprecated
method getParserFeatures (line 141) | @Deprecated
method setParserFeatures (line 154) | @Deprecated
method getSerializeConfig (line 167) | @Deprecated
method setSerializeConfig (line 180) | @Deprecated
method getSerializerFeatures (line 193) | @Deprecated
method setSerializerFeatures (line 206) | @Deprecated
class ResponseBodyConverter (line 212) | final class ResponseBodyConverter<T> implements Converter<ResponseBody...
method ResponseBodyConverter (line 215) | ResponseBodyConverter(Type type) {
method convert (line 219) | public T convert(ResponseBody value) throws IOException {
class RequestBodyConverter (line 237) | final class RequestBodyConverter<T> implements Converter<T, RequestBod...
method RequestBodyConverter (line 238) | RequestBodyConverter() {
method convert (line 241) | public RequestBody convert(T value) throws IOException {
FILE: src/main/java/com/alibaba/fastjson/support/spring/FastJsonContainer.java
class FastJsonContainer (line 8) | public class FastJsonContainer {
method FastJsonContainer (line 12) | FastJsonContainer(Object body){
method getValue (line 16) | public Object getValue() {
method setValue (line 20) | public void setValue(Object value) {
method getFilters (line 24) | public PropertyPreFilters getFilters() {
method setFilters (line 28) | public void setFilters(PropertyPreFilters filters) {
FILE: src/main/java/com/alibaba/fastjson/support/spring/FastJsonHttpMessageConverter.java
class FastJsonHttpMessageConverter (line 57) | public class FastJsonHttpMessageConverter extends AbstractHttpMessageCon...
method getFastJsonConfig (line 82) | public FastJsonConfig getFastJsonConfig() {
method setFastJsonConfig (line 90) | public void setFastJsonConfig(FastJsonConfig fastJsonConfig) {
method FastJsonHttpMessageConverter (line 97) | public FastJsonHttpMessageConverter() {
method getCharset (line 109) | @Deprecated
method setCharset (line 121) | @Deprecated
method getDateFormat (line 133) | @Deprecated
method setDateFormat (line 145) | @Deprecated
method getFeatures (line 157) | @Deprecated
method setFeatures (line 169) | @Deprecated
method getFilters (line 181) | @Deprecated
method setFilters (line 193) | @Deprecated
method addSerializeFilter (line 205) | @Deprecated
method supports (line 218) | @Override
method canRead (line 224) | public boolean canRead(Type type, Class<?> contextClass, MediaType med...
method canWrite (line 229) | public boolean canWrite(Type type, Class<?> clazz, MediaType mediaType) {
method read (line 236) | public Object read(Type type, //
method write (line 246) | public void write(Object o, Type type, MediaType contentType, HttpOutp...
method readInternal (line 255) | @Override
method readType (line 262) | private Object readType(Type type, HttpInputMessage inputMessage) {
method writeInternal (line 280) | @Override
method strangeCodeForJackson (line 347) | private Object strangeCodeForJackson(Object obj) {
method getType (line 357) | protected Type getType(Type type, Class<?> contextClass) {
method handlerParameterizedType (line 372) | private Type handlerParameterizedType(ParameterizedType type) {
class Spring4TypeResolvableHelper (line 387) | private static class Spring4TypeResolvableHelper {
method isSupport (line 399) | private static boolean isSupport() {
method getType (line 404) | private static Type getType(Type type, Class<?> contextClass) {
method resolveVariable (line 438) | private static ResolvableType resolveVariable(TypeVariable<?> typeVa...
FILE: src/main/java/com/alibaba/fastjson/support/spring/FastJsonHttpMessageConverter4.java
class FastJsonHttpMessageConverter4 (line 17) | @Deprecated
method supports (line 19) | @Override
method canRead (line 24) | @Override
method canWrite (line 29) | @Override
method read (line 34) | @Override
method write (line 39) | @Override
method readInternal (line 44) | @Override
method writeInternal (line 49) | @Override
FILE: src/main/java/com/alibaba/fastjson/support/spring/FastJsonJsonView.java
class FastJsonJsonView (line 33) | public class FastJsonJsonView extends AbstractView {
method FastJsonJsonView (line 96) | public FastJsonJsonView() {
method getFastJsonConfig (line 106) | public FastJsonConfig getFastJsonConfig() {
method setFastJsonConfig (line 114) | public void setFastJsonConfig(FastJsonConfig fastJsonConfig) {
method setSerializerFeature (line 125) | @Deprecated
method getCharset (line 137) | @Deprecated
method setCharset (line 149) | @Deprecated
method getDateFormat (line 161) | @Deprecated
method setDateFormat (line 173) | @Deprecated
method getFeatures (line 185) | @Deprecated
method setFeatures (line 197) | @Deprecated
method getFilters (line 209) | @Deprecated
method setFilters (line 221) | @Deprecated
method setRenderedAttributes (line 231) | public void setRenderedAttributes(Set<String> renderedAttributes) {
method isExtractValueFromSingleKeyModel (line 240) | public boolean isExtractValueFromSingleKeyModel() {
method setExtractValueFromSingleKeyModel (line 249) | public void setExtractValueFromSingleKeyModel(boolean extractValueFrom...
method setJsonpParameterNames (line 262) | public void setJsonpParameterNames(Set<String> jsonpParameterNames) {
method getJsonpParameterValue (line 268) | private String getJsonpParameterValue(HttpServletRequest request) {
method renderMergedOutputModel (line 286) | @Override
method prepareResponse (line 321) | @Override
method setDisableCaching (line 340) | public void setDisableCaching(boolean disableCaching) {
method setUpdateContentLength (line 351) | public void setUpdateContentLength(boolean updateContentLength) {
method filterModel (line 366) | protected Object filterModel(Map<String, Object> model) {
method setResponseContentType (line 388) | @Override
FILE: src/main/java/com/alibaba/fastjson/support/spring/FastJsonRedisSerializer.java
class FastJsonRedisSerializer (line 15) | public class FastJsonRedisSerializer<T> implements RedisSerializer<T> {
method FastJsonRedisSerializer (line 19) | public FastJsonRedisSerializer(Class<T> type) {
method getFastJsonConfig (line 23) | public FastJsonConfig getFastJsonConfig() {
method setFastJsonConfig (line 27) | public void setFastJsonConfig(FastJsonConfig fastJsonConfig) {
method serialize (line 31) | @Override
method deserialize (line 51) | @Override
FILE: src/main/java/com/alibaba/fastjson/support/spring/FastJsonViewResponseBodyAdvice.java
class FastJsonViewResponseBodyAdvice (line 23) | @Order
method supports (line 27) | public boolean supports(MethodParameter returnType, Class<? extends Ht...
method beforeBodyWrite (line 31) | public FastJsonContainer beforeBodyWrite(Object body, MethodParameter ...
method getOrCreateContainer (line 37) | private FastJsonContainer getOrCreateContainer(Object body) {
method beforeBodyWriteInternal (line 42) | protected void beforeBodyWriteInternal(FastJsonContainer container, Me...
FILE: src/main/java/com/alibaba/fastjson/support/spring/FastJsonpHttpMessageConverter4.java
class FastJsonpHttpMessageConverter4 (line 16) | @Deprecated
method supports (line 18) | @Override
method canRead (line 23) | @Override
method canWrite (line 28) | @Override
method read (line 33) | @Override
method write (line 38) | @Override
method readInternal (line 43) | @Override
method writeInternal (line 48) | @Override
FILE: src/main/java/com/alibaba/fastjson/support/spring/FastJsonpResponseBodyAdvice.java
class FastJsonpResponseBodyAdvice (line 29) | @Deprecated
method FastJsonpResponseBodyAdvice (line 43) | public FastJsonpResponseBodyAdvice() {
method FastJsonpResponseBodyAdvice (line 47) | public FastJsonpResponseBodyAdvice(String... queryParamNames) {
method supports (line 52) | public boolean supports(MethodParameter returnType, Class<? extends Ht...
method beforeBodyWrite (line 56) | public Object beforeBodyWrite(Object body, MethodParameter returnType,...
method getOrCreateContainer (line 68) | protected MappingFastJsonValue getOrCreateContainer(Object body) {
method beforeBodyWriteInternal (line 75) | public void beforeBodyWriteInternal(MappingFastJsonValue bodyContainer...
method isValidJsonpQueryParam (line 99) | protected boolean isValidJsonpQueryParam(String value) {
method getContentType (line 112) | protected MediaType getContentType(MediaType contentType, ServerHttpRe...
FILE: src/main/java/com/alibaba/fastjson/support/spring/FastjsonSockJsMessageCodec.java
class FastjsonSockJsMessageCodec (line 12) | public class FastjsonSockJsMessageCodec extends AbstractSockJsMessageCod...
method decode (line 14) | public String[] decode(String content) throws IOException {
method decodeInputStream (line 18) | public String[] decodeInputStream(InputStream content) throws IOExcept...
method applyJsonQuoting (line 22) | @Override
FILE: src/main/java/com/alibaba/fastjson/support/spring/GenericFastJsonRedisSerializer.java
class GenericFastJsonRedisSerializer (line 15) | public class GenericFastJsonRedisSerializer implements RedisSerializer<O...
method serialize (line 19) | public byte[] serialize(Object object) throws SerializationException {
method deserialize (line 30) | public Object deserialize(byte[] bytes) throws SerializationException {
FILE: src/main/java/com/alibaba/fastjson/support/spring/JSONPResponseBodyAdvice.java
class JSONPResponseBodyAdvice (line 38) | @Order(Integer.MIN_VALUE)//before FastJsonViewResponseBodyAdvice
method JSONPResponseBodyAdvice (line 44) | public JSONPResponseBodyAdvice() {
method supports (line 48) | public boolean supports(MethodParameter returnType, Class<? extends Ht...
method beforeBodyWrite (line 56) | public Object beforeBodyWrite(Object body, MethodParameter returnType,...
method beforeBodyWriteInternal (line 82) | public void beforeBodyWriteInternal(JSONPObject jsonpObject, MediaType...
method getContentType (line 97) | protected MediaType getContentType(MediaType contentType, ServerHttpRe...
FILE: src/main/java/com/alibaba/fastjson/support/spring/MappingFastJsonValue.java
class MappingFastJsonValue (line 28) | @Deprecated
method MappingFastJsonValue (line 41) | public MappingFastJsonValue(Object value) {
method setValue (line 48) | public void setValue(Object value) {
method getValue (line 55) | public Object getValue() {
method setJsonpFunction (line 62) | public void setJsonpFunction(String functionName) {
method getJsonpFunction (line 69) | public String getJsonpFunction() {
method write (line 73) | public void write(JSONSerializer serializer, Object fieldName, Type fi...
FILE: src/main/java/com/alibaba/fastjson/support/spring/PropertyPreFilters.java
class PropertyPreFilters (line 13) | public class PropertyPreFilters {
method addFilter (line 17) | public MySimplePropertyPreFilter addFilter(){
method addFilter (line 23) | public MySimplePropertyPreFilter addFilter(String... properties){
method addFilter (line 29) | public MySimplePropertyPreFilter addFilter(Class<?> clazz, String... p...
method getFilters (line 35) | public List<MySimplePropertyPreFilter> getFilters() {
method setFilters (line 39) | public void setFilters(List<MySimplePropertyPreFilter> filters) {
method toFilters (line 43) | public MySimplePropertyPreFilter[] toFilters(){
class MySimplePropertyPreFilter (line 47) | public class MySimplePropertyPreFilter extends SimplePropertyPreFilter {
method MySimplePropertyPreFilter (line 49) | public MySimplePropertyPreFilter(){}
method MySimplePropertyPreFilter (line 51) | public MySimplePropertyPreFilter(String... properties){
method MySimplePropertyPreFilter (line 55) | public MySimplePropertyPreFilter(Class<?> clazz, String... properties){
method addExcludes (line 59) | public MySimplePropertyPreFilter addExcludes(String... filters){
method addIncludes (line 66) | public MySimplePropertyPreFilter addIncludes(String... filters){
FILE: src/main/java/com/alibaba/fastjson/support/spring/messaging/MappingFastJsonMessageConverter.java
class MappingFastJsonMessageConverter (line 22) | public class MappingFastJsonMessageConverter extends AbstractMessageConv...
method getFastJsonConfig (line 33) | public FastJsonConfig getFastJsonConfig() {
method setFastJsonConfig (line 41) | public void setFastJsonConfig(FastJsonConfig fastJsonConfig) {
method MappingFastJsonMessageConverter (line 45) | public MappingFastJsonMessageConverter() {
method supports (line 49) | protected boolean supports(Class<?> clazz) {
method canConvertFrom (line 53) | @Override
method canConvertTo (line 58) | @Override
method convertFromInternal (line 63) | @Override
method convertToInternal (line 79) | @Override
FILE: src/main/java/com/alibaba/fastjson/support/springfox/SwaggerJsonSerializer.java
class SwaggerJsonSerializer (line 18) | public class SwaggerJsonSerializer implements ObjectSerializer {
method write (line 22) | public void write(JSONSerializer serializer, //
FILE: src/main/java/com/alibaba/fastjson/util/ASMClassLoader.java
class ASMClassLoader (line 58) | public class ASMClassLoader extends ClassLoader {
method run (line 67) | public Object run() {
method ASMClassLoader (line 139) | public ASMClassLoader(){
method ASMClassLoader (line 143) | public ASMClassLoader(ClassLoader parent){
method getParentClassLoader (line 147) | static ClassLoader getParentClassLoader() {
method loadClass (line 160) | protected Class<?> loadClass(String name, boolean resolve) throws Clas...
method defineClassPublic (line 173) | public Class<?> defineClassPublic(String name, byte[] b, int off, int ...
method isExternalClass (line 179) | public boolean isExternalClass(Class<?> clazz) {
FILE: src/main/java/com/alibaba/fastjson/util/ASMUtils.java
class ASMUtils (line 15) | public class ASMUtils {
method isAndroid (line 21) | public static boolean isAndroid(String vmName) {
method desc (line 33) | public static String desc(Method method) {
method desc (line 45) | public static String desc(Class<?> returnType) {
method type (line 55) | public static String type(Class<?> parameterType) {
method getPrimitiveLetter (line 69) | public static String getPrimitiveLetter(Class<?> type) {
method getMethodType (line 93) | public static Type getMethodType(Class<?> clazz, String methodName) {
method checkName (line 103) | public static boolean checkName(String name) {
method lookupParameterNames (line 115) | public static String[] lookupParameterNames(AccessibleObject methodOrC...
FILE: src/main/java/com/alibaba/fastjson/util/AntiCollisionHashMap.java
class AntiCollisionHashMap (line 10) | public class AntiCollisionHashMap<K, V> extends AbstractMap<K, V> implem...
method hashString (line 84) | private int hashString(String key) {
method AntiCollisionHashMap (line 92) | public AntiCollisionHashMap(int initialCapacity, float loadFactor) {
method AntiCollisionHashMap (line 122) | public AntiCollisionHashMap(int initialCapacity) {
method AntiCollisionHashMap (line 130) | public AntiCollisionHashMap() {
method AntiCollisionHashMap (line 148) | public AntiCollisionHashMap(Map<? extends K, ? extends V> m) {
method init (line 163) | void init() {
method hash (line 173) | static int hash(int h) {
method indexFor (line 185) | static int indexFor(int h, int length) {
method size (line 194) | public int size() {
method isEmpty (line 203) | public boolean isEmpty() {
method get (line 225) | public V get(Object key) {
method getForNullKey (line 247) | private V getForNullKey() {
method containsKey (line 264) | public boolean containsKey(Object key) {
method getEntry (line 272) | final Entry<K, V> getEntry(Object key) {
method put (line 299) | public V put(K key, V value) {
method putForNullKey (line 325) | private V putForNullKey(V value) {
method putForCreate (line 343) | private void putForCreate(K key, V value) {
method putAllForCreate (line 366) | private void putAllForCreate(Map<? extends K, ? extends V> m) {
method resize (line 388) | void resize(int newCapacity) {
method transfer (line 405) | void transfer(Entry[] newTable) {
method putAll (line 433) | public void putAll(Map<? extends K, ? extends V> m) {
method remove (line 475) | public V remove(Object key) {
method removeEntryForKey (line 485) | final Entry<K, V> removeEntryForKey(Object key) {
method removeMapping (line 516) | final Entry<K, V> removeMapping(Object o) {
method clear (line 551) | public void clear() {
method containsValue (line 568) | public boolean containsValue(Object value) {
method containsNullValue (line 583) | private boolean containsNullValue() {
method clone (line 598) | public Object clone() {
class Entry (line 615) | static class Entry<K, V> implements Map.Entry<K, V> {
method Entry (line 624) | Entry(int h, K k, V v, Entry<K, V> n) {
method getKey (line 631) | public final K getKey() {
method getValue (line 635) | public final V getValue() {
method setValue (line 639) | public final V setValue(V newValue) {
method equals (line 645) | public final boolean equals(Object o) {
method hashCode (line 659) | public final int hashCode() {
method toString (line 664) | public final String toString() {
method addEntry (line 677) | void addEntry(int hash, K key, V value, int bucketIndex) {
method createEntry (line 692) | void createEntry(int hash, K key, V value, int bucketIndex) {
class HashIterator (line 698) | private abstract class HashIterator<E> implements Iterator<E> {
method HashIterator (line 704) | HashIterator() {
method hasNext (line 713) | public final boolean hasNext() {
method nextEntry (line 717) | final Entry<K, V> nextEntry() {
method remove (line 733) | public void remove() {
class ValueIterator (line 746) | private final class ValueIterator extends HashIterator<V> {
method next (line 747) | public V next() {
class KeyIterator (line 752) | private final class KeyIterator extends HashIterator<K> {
method next (line 753) | public K next() {
class EntryIterator (line 758) | private final class EntryIterator extends HashIterator<Map.Entry<K, V>> {
method next (line 759) | public Map.Entry<K, V> next() {
method newKeyIterator (line 765) | Iterator<K> newKeyIterator() {
method newValueIterator (line 769) | Iterator<V> newValueIterator() {
method newEntryIterator (line 773) | Iterator<Map.Entry<K, V>> newEntryIterator() {
method keySet (line 792) | public Set<K> keySet() {
class KeySet (line 798) | private final class KeySet extends AbstractSet<K> {
method iterator (line 799) | public Iterator<K> iterator() {
method size (line 803) | public int size() {
method contains (line 807) | public boolean contains(Object o) {
method remove (line 811) | public boolean remove(Object o) {
method clear (line 815) | public void clear() {
method values (line 832) | public Collection<V> values() {
class Values (line 837) | private final class Values extends AbstractCollection<V> {
method iterator (line 838) | public Iterator<V> iterator() {
method size (line 842) | public int size() {
method contains (line 846) | public boolean contains(Object o) {
method clear (line 850) | public void clear() {
method entrySet (line 869) | public Set<Map.Entry<K, V>> entrySet() {
method entrySet0 (line 873) | private Set<Map.Entry<K, V>> entrySet0() {
class EntrySet (line 878) | private final class EntrySet extends AbstractSet<Map.Entry<K, V>> {
method iterator (line 879) | public Iterator<Map.Entry<K, V>> iterator() {
method contains (line 883) | public boolean contains(Object o) {
method remove (line 891) | public boolean remove(Object o) {
method size (line 895) | public int size() {
method clear (line 899) | public void clear() {
method writeObject (line 914) | private void writeObject(java.io.ObjectOutputStream s) throws IOExcept...
method readObject (line 943) | private void readObject(java.io.ObjectInputStream s) throws IOException,
FILE: src/main/java/com/alibaba/fastjson/util/Base64.java
class Base64 (line 11) | public class Base64 {
method decodeFast (line 33) | public static byte[] decodeFast(char[] chars, int offset, int charsLen) {
method decodeFast (line 88) | public static byte[] decodeFast(String chars, int offset, int charsLen) {
method decodeFast (line 154) | public static byte[] decodeFast(String s) {
FILE: src/main/java/com/alibaba/fastjson/util/BiFunction.java
type BiFunction (line 3) | public interface BiFunction<T, U, R> {
method apply (line 12) | R apply(T t, U u);
FILE: src/main/java/com/alibaba/fastjson/util/FieldInfo.java
class FieldInfo (line 20) | public class FieldInfo implements Comparable<FieldInfo> {
method FieldInfo (line 53) | public FieldInfo(String name, //
method FieldInfo (line 104) | public FieldInfo(String name, //
method FieldInfo (line 119) | public FieldInfo(String name, //
method nameHashCode64 (line 256) | private long nameHashCode64(String name, JSONField annotation)
method genFieldNameChars (line 264) | protected char[] genFieldNameChars() {
method getAnnation (line 274) | @SuppressWarnings("unchecked")
method getFieldType (line 292) | public static Type getFieldType(final Class<?> clazz, final Type type,...
method getFieldType (line 296) | public static Type getFieldType(final Class<?> clazz, final Type type,...
method getArgument (line 367) | private static boolean getArgument(Type[] typeArgs, Map<TypeVariable, ...
method getArgument (line 395) | private static boolean getArgument(Type[] typeArgs, TypeVariable[] typ...
method getInheritGenericType (line 426) | private static Type getInheritGenericType(Class<?> clazz, Type type, T...
method toString (line 469) | public String toString() {
method getMember (line 473) | public Member getMember() {
method getDeclaredClass (line 481) | protected Class<?> getDeclaredClass() {
method compareTo (line 493) | public int compareTo(FieldInfo o) {
method getAnnotation (line 557) | public JSONField getAnnotation() {
method getFormat (line 565) | public String getFormat() {
method get (line 569) | public Object get(Object javaObject) throws IllegalAccessException, In...
method set (line 575) | public void set(Object javaObject, Object value) throws IllegalAccessE...
method setAccessible (line 584) | public void setAccessible() throws SecurityException {
FILE: src/main/java/com/alibaba/fastjson/util/Function.java
type Function (line 3) | public interface Function<ARG, V> {
method apply (line 9) | V apply(ARG arg);
FILE: src/main/java/com/alibaba/fastjson/util/GenericArrayTypeImpl.java
class GenericArrayTypeImpl (line 6) | public class GenericArrayTypeImpl implements GenericArrayType {
method GenericArrayTypeImpl (line 9) | public GenericArrayTypeImpl(Type genericComponentType) {
method getGenericComponentType (line 14) | @Override
method toString (line 19) | @Override
method equals (line 32) | @Override
method hashCode (line 41) | @Override
FILE: src/main/java/com/alibaba/fastjson/util/IOUtils.java
class IOUtils (line 38) | public class IOUtils {
method getStringProperty (line 78) | public static String getStringProperty(String name) {
method loadPropertiesFromFile (line 88) | public static void loadPropertiesFromFile(){
method close (line 193) | public static void close(Closeable x) {
method stringSize (line 204) | public static int stringSize(long x) {
method getChars (line 213) | public static void getChars(long i, int index, char[] buf) {
method getChars (line 265) | public static void getChars(int i, int index, char[] buf) {
method getChars (line 297) | public static void getChars(byte b, int index, char[] buf) {
method stringSize (line 343) | public static int stringSize(int x) {
method decode (line 351) | public static void decode(CharsetDecoder charsetDecoder, ByteBuffer by...
method firstIdentifier (line 371) | public static boolean firstIdentifier(char ch) {
method isIdent (line 375) | public static boolean isIdent(char ch) {
method decodeBase64 (line 400) | public static byte[] decodeBase64(char[] chars, int offset, int charsL...
method decodeBase64 (line 458) | public static byte[] decodeBase64(String chars, int offset, int charsL...
method decodeBase64 (line 528) | public static byte[] decodeBase64(String s) {
method encodeUTF8 (line 585) | public static int encodeUTF8(char[] chars, int offset, int len, byte[]...
method decodeUTF8 (line 654) | public static int decodeUTF8(byte[] sa, int sp, int len, char[] da) {
method readAll (line 745) | public static String readAll(Reader reader) {
method isValidJsonpQueryParam (line 764) | public static boolean isValidJsonpQueryParam(String value){
FILE: src/main/java/com/alibaba/fastjson/util/IdentityHashMap.java
class IdentityHashMap (line 25) | @SuppressWarnings("unchecked")
method IdentityHashMap (line 31) | public IdentityHashMap(){
method IdentityHashMap (line 35) | public IdentityHashMap(int tableSize){
method get (line 40) | public final V get(K key) {
method findClass (line 53) | public Class findClass(String keyString) {
method put (line 76) | public boolean put(K key, V value) {
class Entry (line 93) | protected static final class Entry<K, V> {
method Entry (line 101) | public Entry(K key, V value, int hash, Entry<K, V> next){
method clear (line 109) | public void clear() {
method size (line 113) | public int size() {
FILE: src/main/java/com/alibaba/fastjson/util/JavaBeanInfo.java
class JavaBeanInfo (line 20) | public class JavaBeanInfo {
method JavaBeanInfo (line 49) | public JavaBeanInfo(Class<?> clazz, //
method getField (line 173) | private static FieldInfo getField(List<FieldInfo> fieldList, String pr...
method add (line 188) | static boolean add(List<FieldInfo> fieldList, FieldInfo field) {
method build (line 217) | public static JavaBeanInfo build(Class<?> clazz, Type type, PropertyNa...
method buildGenericInfo (line 221) | private static Map<TypeVariable, Type> buildGenericInfo(Class<?> clazz) {
method build (line 255) | public static JavaBeanInfo build(Class<?> clazz //
method build (line 264) | public static JavaBeanInfo build(Class<?> clazz //
method computeFields (line 955) | private static void computeFields(Class<?> clazz, Type type, PropertyN...
method getDefaultConstructor (line 1016) | static Constructor<?> getDefaultConstructor(Class<?> clazz, final Cons...
method getCreatorConstructor (line 1046) | public static Constructor<?> getCreatorConstructor(Constructor[] const...
method getFactoryMethod (line 1097) | private static Method getFactoryMethod(Class<?> clazz, Method[] method...
method getBuilderClass (line 1134) | public static Class<?> getBuilderClass(JSONType type) {
method getBuilderClass (line 1138) | public static Class<?> getBuilderClass(Class<?> clazz, JSONType type) {
FILE: src/main/java/com/alibaba/fastjson/util/ModuleUtil.java
class ModuleUtil (line 5) | public class ModuleUtil {
method callWhenHasJavaSql (line 17) | public static <T> T callWhenHasJavaSql(Callable<T> callable) {
method callWhenHasJavaSql (line 28) | public static <ARG, T> T callWhenHasJavaSql(Function<ARG, T> callable,...
method callWhenHasJavaSql (line 35) | public static <T, U, R> R callWhenHasJavaSql(BiFunction<T, U, R> calla...
FILE: src/main/java/com/alibaba/fastjson/util/ParameterizedTypeImpl.java
class ParameterizedTypeImpl (line 7) | public class ParameterizedTypeImpl implements ParameterizedType {
method ParameterizedTypeImpl (line 13) | public ParameterizedTypeImpl(Type[] actualTypeArguments, Type ownerTyp...
method getActualTypeArguments (line 19) | public Type[] getActualTypeArguments() {
method getOwnerType (line 23) | public Type getOwnerType() {
method getRawType (line 27) | public Type getRawType() {
method equals (line 32) | @Override
method hashCode (line 46) | @Override
FILE: src/main/java/com/alibaba/fastjson/util/RyuDouble.java
class RyuDouble (line 22) | public final class RyuDouble {
method toString (line 68) | public static String toString(double value) {
method toString (line 74) | public static int toString(double value, char[] result, int off) {
FILE: src/main/java/com/alibaba/fastjson/util/RyuFloat.java
class RyuFloat (line 20) | public final class RyuFloat {
method toString (line 105) | public static String toString(float value) {
method toString (line 111) | public static int toString(float value, char[] result, int off) {
FILE: src/main/java/com/alibaba/fastjson/util/ServiceLoader.java
class ServiceLoader (line 13) | public class ServiceLoader {
method load (line 19) | @SuppressWarnings("unchecked")
method load (line 59) | public static void load(URL url, Set<String> set) throws IOException {
FILE: src/main/java/com/alibaba/fastjson/util/ThreadLocalCache.java
class ThreadLocalCache (line 9) | public class ThreadLocalCache {
method getUTF8Decoder (line 19) | public static CharsetDecoder getUTF8Decoder() {
method clearChars (line 28) | public static void clearChars() {
method getChars (line 32) | public static char[] getChars(int length) {
method allocate (line 52) | private static char[] allocate(int length) {
method getAllocateLengthExp (line 63) | private static int getAllocateLengthExp(int minExp, int maxExp, int le...
method clearBytes (line 83) | public static void clearBytes() {
method getBytes (line 87) | public static byte[] getBytes(int length) {
method allocateBytes (line 107) | private static byte[] allocateBytes(int length) {
FILE: src/main/java/com/alibaba/fastjson/util/TypeUtils.java
class TypeUtils (line 54) | public class TypeUtils {
method isXmlField (line 120) | public static boolean isXmlField(Class clazz) {
method getXmlAccessorType (line 175) | public static Annotation getXmlAccessorType(Class clazz) {
method apply (line 211) | public Boolean apply(Class clazz) {
method isClob (line 216) | public static boolean isClob(final Class clazz) {
method castToString (line 222) | public static String castToString(Object value) {
method castToByte (line 229) | public static Byte castToByte(Object value) {
method castToChar (line 259) | public static Character castToChar(Object value) {
method castToShort (line 279) | public static Short castToShort(Object value) {
method castToBigDecimal (line 309) | public static BigDecimal castToBigDecimal(Object value) {
method castToBigInteger (line 343) | public static BigInteger castToBigInteger(Object value) {
method castToFloat (line 383) | public static Float castToFloat(Object value) {
method castToDouble (line 410) | public static Double castToDouble(Object value) {
method castToDate (line 437) | public static Date castToDate(Object value) {
method castToDate (line 441) | public static Date castToDate(Object value, String format) {
method apply (line 566) | public Object apply(Object value) {
method castToSqlDate (line 612) | public static Object castToSqlDate(final Object value) {
method longExtractValue (line 616) | public static long longExtractValue(Number number) {
method apply (line 625) | public Object apply(Object value) {
method castToSqlTime (line 676) | public static Object castToSqlTime(final Object value) {
method apply (line 681) | public Object apply(Object value) {
method castToTimestamp (line 769) | public static Object castToTimestamp(final Object value) {
method num (line 773) | static int num(char c0, char c1) {
method num (line 786) | static int num(char c0, char c1, char c2, char c3) {
method num (line 805) | static int num(char c0, char c1, char c2, char c3, char c4, char c5, c...
method isNumber (line 839) | public static boolean isNumber(String str) {
method castToLong (line 853) | public static Long castToLong(Object value) {
method byteValue (line 911) | public static byte byteValue(BigDecimal decimal) {
method shortValue (line 924) | public static short shortValue(BigDecimal decimal) {
method intValue (line 937) | public static int intValue(BigDecimal decimal) {
method longValue (line 950) | public static long longValue(BigDecimal decimal) {
method castToInt (line 963) | public static Integer castToInt(Object value) {
method castToBytes (line 1015) | public static byte[] castToBytes(Object value) {
method castToBoolean (line 1025) | public static Boolean castToBoolean(Object value) {
method castToJavaBean (line 1068) | public static <T> T castToJavaBean(Object obj, Class<T> clazz) {
method apply (line 1073) | public Object apply(Object obj, Class clazz) {
method cast (line 1089) | @SuppressWarnings({"unchecked", "rawtypes"})
method toLocale (line 1263) | public static Locale toLocale(String strVal) {
method castToEnum (line 1274) | @SuppressWarnings({"unchecked", "rawtypes"})
method cast (line 1317) | @SuppressWarnings("unchecked")
method cast (line 1342) | @SuppressWarnings({"rawtypes", "unchecked"})
method castToJavaBean (line 1458) | @SuppressWarnings({"unchecked"})
method apply (line 1575) | public Void apply(Map<String, Class<?>> mappings) {
method addBaseClassMappings (line 1595) | private static void addBaseClassMappings() {
method clearClassMapping (line 1700) | public static void clearClassMapping() {
method addMapping (line 1705) | public static void addMapping(String className, Class<?> clazz) {
method loadClass (line 1709) | public static Class<?> loadClass(String className) {
method isPath (line 1713) | public static boolean isPath(Class<?> clazz) {
method getClassFromMapping (line 1727) | public static Class<?> getClassFromMapping(String className) {
method loadClass (line 1731) | public static Class<?> loadClass(String className, ClassLoader classLo...
method loadClass (line 1735) | public static Class<?> loadClass(String className, ClassLoader classLo...
method buildBeanInfo (line 1795) | public static SerializeBeanInfo buildBeanInfo(Class<?> beanType //
method buildBeanInfo (line 1801) | public static SerializeBeanInfo buildBeanInfo(Class<?> beanType //
method computeGettersWithFieldBase (line 1879) | public static List<FieldInfo> computeGettersWithFieldBase(
method computeGetters (line 1892) | public static List<FieldInfo> computeGetters(Class<?> clazz, Map<Strin...
method computeGetters (line 1896) | public static List<FieldInfo> computeGetters(Class<?> clazz, Map<Strin...
method computeGetters (line 1903) | public static List<FieldInfo> computeGetters(Class<?> clazz, //
method getFieldInfos (line 2239) | private static List<FieldInfo> getFieldInfos(Class<?> clazz, boolean s...
method computeFields (line 2268) | private static void computeFields(
method getPropertyNameByCompatibleFieldName (line 2313) | private static String getPropertyNameByCompatibleFieldName(Map<String,...
method getSuperMethodAnnotation (line 2324) | public static JSONField getSuperMethodAnnotation(final Class<?> clazz,...
method isJSONTypeIgnore (line 2387) | private static boolea
Copy disabled (too large)
Download .json
Condensed preview — 3240 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (10,784K chars).
[
{
"path": ".github/workflows/ci.yaml",
"chars": 890,
"preview": "---\nname: Java CI\n\non: [push, pull_request]\n\njobs:\n test:\n runs-on: ${{ matrix.os }}\n strategy:\n matrix:\n "
},
{
"path": ".gitignore",
"chars": 124,
"preview": "/target\n/.project\n/.settings\n/.classpath\n/.idea\n/.DS_Store\n*.iml\n/src/test/java/com/alibaba/json/bvt/parser/autoType/\n/b"
},
{
"path": ".gitpod.yml",
"chars": 188,
"preview": "tasks:\n - init: mvn install -DskipTests=true\n\nvscode:\n extensions:\n - vscjava.vscode-maven@0.21.0:37ZOg7jK2M04yXsE+"
},
{
"path": ".travis.yml",
"chars": 179,
"preview": "language: java\njdk:\n - openjdk8\nbefore_install:\n - pip install --user codecov\nafter_success:\n - codecov\nbranches:\n e"
},
{
"path": "CONTRIBUTING.md",
"chars": 1687,
"preview": "\n## Contributing\n\nIf you want to contribute to a project and make it better, your help is very welcome. Contributing is "
},
{
"path": "README.md",
"chars": 4155,
"preview": "\n# fastjson\n\n[](https:/"
},
{
"path": "SECURITY.md",
"chars": 4176,
"preview": "# 漏洞奖励计划 \n## 报告\n如果您认为自己在本程序中发现了任何安全(技术)漏洞,欢迎您通过 https://security.alibaba.com 向我们提交漏洞报告。\n如果您报告任何安全漏洞,请注意您可能包含以下信息(合格报告):\n"
},
{
"path": "license.txt",
"chars": 11361,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "pom.xml",
"chars": 23006,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
},
{
"path": "rfc4627.txt",
"chars": 16318,
"preview": "\n\n\n\n\n\nNetwork Working Group D. Crockford\nRequest for Comments: 4627 "
},
{
"path": "src/main/java/META-INF/MANIFEST.MF",
"chars": 42,
"preview": "Manifest-Version: 1.1.35\r\nClass-Path: \r\n\r\n"
},
{
"path": "src/main/java/com/alibaba/fastjson/JSON.java",
"chars": 50949,
"preview": "/*\n * Copyright 1999-2017 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONArray.java",
"chars": 11768,
"preview": "/*\r\n * Copyright 1999-2017 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONAware.java",
"chars": 901,
"preview": "/*\r\n * Copyright 1999-2017 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONException.java",
"chars": 1027,
"preview": "/*\r\n * Copyright 1999-2019 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONObject.java",
"chars": 15100,
"preview": "/*\r\n * Copyright 1999-2017 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONPObject.java",
"chars": 1836,
"preview": "package com.alibaba.fastjson;\n\nimport com.alibaba.fastjson.serializer.JSONSerializable;\nimport com.alibaba.fastjson.seri"
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONPatch.java",
"chars": 2893,
"preview": "package com.alibaba.fastjson;\n\nimport com.alibaba.fastjson.annotation.JSONField;\nimport com.alibaba.fastjson.annotation."
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONPath.java",
"chars": 150053,
"preview": "package com.alibaba.fastjson;\n\nimport com.alibaba.fastjson.parser.DefaultJSONParser;\nimport com.alibaba.fastjson.parser."
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONPathException.java",
"chars": 298,
"preview": "package com.alibaba.fastjson;\n\n@SuppressWarnings(\"serial\")\npublic class JSONPathException extends JSONException {\n\n p"
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONReader.java",
"chars": 9267,
"preview": "package com.alibaba.fastjson;\n\nimport static com.alibaba.fastjson.JSONStreamContext.ArrayValue;\nimport static com.alibab"
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONStreamAware.java",
"chars": 992,
"preview": "/*\r\n * Copyright 1999-2017 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONStreamContext.java",
"chars": 585,
"preview": "package com.alibaba.fastjson;\n\nclass JSONStreamContext {\n\n final static int StartObject = 1001;\n "
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONValidator.java",
"chars": 15664,
"preview": "package com.alibaba.fastjson;\n\nimport java.io.Closeable;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport "
},
{
"path": "src/main/java/com/alibaba/fastjson/JSONWriter.java",
"chars": 4675,
"preview": "package com.alibaba.fastjson;\n\nimport java.io.Closeable;\nimport java.io.Flushable;\nimport java.io.IOException;\nimport ja"
},
{
"path": "src/main/java/com/alibaba/fastjson/PropertyNamingStrategy.java",
"chars": 2638,
"preview": "package com.alibaba.fastjson;\n\n/**\n * @since 1.2.15\n */\npublic enum PropertyNamingStrategy {\n "
},
{
"path": "src/main/java/com/alibaba/fastjson/TypeReference.java",
"chars": 5101,
"preview": "package com.alibaba.fastjson;\n\nimport java.lang.reflect.GenericArrayType;\nimport java.lang.reflect.ParameterizedType;\nim"
},
{
"path": "src/main/java/com/alibaba/fastjson/annotation/JSONCreator.java",
"chars": 332,
"preview": "package com.alibaba.fastjson.annotation;\n\nimport java.lang.annotation.ElementType;\nimport java.lang.annotation.Retention"
},
{
"path": "src/main/java/com/alibaba/fastjson/annotation/JSONField.java",
"chars": 2334,
"preview": "/*\r\n * Copyright 1999-2017 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/annotation/JSONPOJOBuilder.java",
"chars": 1418,
"preview": "package com.alibaba.fastjson.annotation;\n\nimport java.lang.annotation.ElementType;\nimport java.lang.annotation.Retention"
},
{
"path": "src/main/java/com/alibaba/fastjson/annotation/JSONType.java",
"chars": 1875,
"preview": "package com.alibaba.fastjson.annotation;\n\nimport java.lang.annotation.ElementType;\nimport java.lang.annotation.Retention"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/ByteVector.java",
"chars": 6929,
"preview": "/***\n * ASM: a very small and fast Java bytecode manipulation framework\n * Copyright (c) 2000-2007 INRIA, France Telecom"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/ClassReader.java",
"chars": 10219,
"preview": "package com.alibaba.fastjson.asm;\n\nimport java.io.ByteArrayOutputStream;\nimport java.io.IOException;\nimport java.io.Inpu"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/ClassWriter.java",
"chars": 14731,
"preview": "/***\n * ASM: a very small and fast Java bytecode manipulation framework\n * Copyright (c) 2000-2007 INRIA, France Telecom"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/FieldWriter.java",
"chars": 3888,
"preview": "/***\n * ASM: a very small and fast Java bytecode manipulation framework\n * Copyright (c) 2000-2007 INRIA, France Telecom"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/Item.java",
"chars": 6223,
"preview": "/***\n * ASM: a very small and fast Java bytecode manipulation framework\n * Copyright (c) 2000-2007 INRIA, France Telecom"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/Label.java",
"chars": 12764,
"preview": "/***\n * ASM: a very small and fast Java bytecode manipulation framework\n * Copyright (c) 2000-2007 INRIA, France Telecom"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/MethodCollector.java",
"chars": 1116,
"preview": "package com.alibaba.fastjson.asm;\n\n/**\n * Created by wenshao on 05/08/2017.\n */\npublic class MethodCollector {\n\n priv"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/MethodVisitor.java",
"chars": 7383,
"preview": "/***\n * ASM: a very small and fast Java bytecode manipulation framework\n * Copyright (c) 2000-2007 INRIA, France Telecom"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/MethodWriter.java",
"chars": 12058,
"preview": "/***\n * ASM: a very small and fast Java bytecode manipulation framework\n * Copyright (c) 2000-2007 INRIA, France Telecom"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/Opcodes.java",
"chars": 7531,
"preview": "/***\n * ASM: a very small and fast Java bytecode manipulation framework\n * Copyright (c) 2000-2007 INRIA, France Telecom"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/Type.java",
"chars": 9811,
"preview": "/***\n * ASM: a very small and fast Java bytecode manipulation framework\n * Copyright (c) 2000-2007 INRIA, France Telecom"
},
{
"path": "src/main/java/com/alibaba/fastjson/asm/TypeCollector.java",
"chars": 3118,
"preview": "package com.alibaba.fastjson.asm;\n\nimport com.alibaba.fastjson.util.ASMUtils;\n\nimport java.lang.reflect.Modifier;\nimport"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/DefaultExtJSONParser.java",
"chars": 1271,
"preview": "/*\n * Copyright 1999-2017 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/DefaultJSONParser.java",
"chars": 69126,
"preview": "/*\r\n * Copyright 1999-2019 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/Feature.java",
"chars": 3525,
"preview": "/*\r\n * Copyright 1999-2017 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/JSONLexer.java",
"chars": 2826,
"preview": "/*\n * Copyright 1999-2019 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/JSONLexerBase.java",
"chars": 170269,
"preview": "/*\r\n * Copyright 1999-2019 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/JSONReaderScanner.java",
"chars": 9800,
"preview": "/*\r\n * Copyright 1999-2017 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/JSONScanner.java",
"chars": 95775,
"preview": "/*\r\n * Copyright 1999-2017 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/JSONToken.java",
"chars": 4107,
"preview": "/*\r\n * Copyright 1999-2017 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/ParseContext.java",
"chars": 993,
"preview": "package com.alibaba.fastjson.parser;\n\nimport java.lang.reflect.Type;\n\npublic class ParseContext {\n\n public Object "
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/ParserConfig.java",
"chars": 59138,
"preview": "/*\n * Copyright 1999-2017 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/SymbolTable.java",
"chars": 4115,
"preview": "/*\n * Copyright 1999-2017 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/ASMDeserializerFactory.java",
"chars": 92236,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport static com.alibaba.fastjson.util.ASMUtils.desc;\nimport static "
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/AbstractDateDeserializer.java",
"chars": 7251,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Type;\nimport java.text.ParseException;\nimpor"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/ArrayListTypeFieldDeserializer.java",
"chars": 8390,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.ParameterizedType;\nimport java.lang.reflect."
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/AutowiredObjectDeserializer.java",
"chars": 211,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Type;\nimport java.util.Set;\n\n\npublic interfa"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/ContextObjectDeserializer.java",
"chars": 500,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Type;\n\nimport com.alibaba.fastjson.parser.De"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/DefaultFieldDeserializer.java",
"chars": 5930,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.io.ByteArrayInputStream;\nimport java.io.ByteArrayOutputSt"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/EnumCreatorDeserializer.java",
"chars": 1043,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport com.alibaba.fastjson.JSONException;\nimport com.alibaba.fastjso"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/EnumDeserializer.java",
"chars": 6198,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Field;\nimport java.lang.reflect.Type;\nimport"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/ExtraProcessable.java",
"chars": 206,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\n/**\n * \n * @author wenshao[szujobs@hotmail.com]\n * @since 1.2.9\n */\np"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/ExtraProcessor.java",
"chars": 242,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\n/**\n * \n * @author wenshao[szujobs@hotmail.com]\n * @since 1.1.34\n */\n"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/ExtraTypeProvider.java",
"chars": 259,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Type;\n\n/**\n * @author wenshao[szujobs@hotmai"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/FieldDeserializer.java",
"chars": 11181,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport com.alibaba.fastjson.JSONException;\nimport com.alibaba.fastjso"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/FieldTypeResolver.java",
"chars": 194,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Type;\n\npublic interface FieldTypeResolver ex"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/JSONPDeserializer.java",
"chars": 1824,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport com.alibaba.fastjson.JSONException;\nimport com.alibaba.fastjso"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/JavaBeanDeserializer.java",
"chars": 76580,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport com.alibaba.fastjson.JSON;\nimport com.alibaba.fastjson.JSONExc"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/JavaObjectDeserializer.java",
"chars": 1874,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.io.Closeable;\nimport java.io.Serializable;\nimport java.la"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/Jdk8DateCodec.java",
"chars": 27596,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.io.IOException;\nimport java.lang.reflect.Type;\nimport jav"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/MapDeserializer.java",
"chars": 16527,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.ParameterizedType;\nimport java.lang.reflect."
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/NumberDeserializer.java",
"chars": 4540,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Type;\nimport java.math.BigDecimal;\n\nimport c"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/ObjectDeserializer.java",
"chars": 2363,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Type;\n\nimport com.alibaba.fastjson.JSON;\nimp"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/OptionalCodec.java",
"chars": 3804,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.io.IOException;\nimport java.lang.reflect.Type;\nimport jav"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/ParseProcess.java",
"chars": 87,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\n\npublic interface ParseProcess {\n\n}\n"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/PropertyProcessable.java",
"chars": 540,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Type;\n\n/**\n * @author wenshao[szujobs@hotmai"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/PropertyProcessableDeserializer.java",
"chars": 981,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport com.alibaba.fastjson.JSONException;\nimport com.alibaba.fastjso"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/ResolveFieldDeserializer.java",
"chars": 2667,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Array;\nimport java.lang.reflect.Type;\nimport"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/SqlDateDeserializer.java",
"chars": 5242,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Type;\nimport java.math.BigDecimal;\nimport ja"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/StackTraceElementDeserializer.java",
"chars": 5937,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Type;\n\nimport com.alibaba.fastjson.JSON;\nimp"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/ThrowableDeserializer.java",
"chars": 7145,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Constructor;\nimport java.lang.reflect.Type;\n"
},
{
"path": "src/main/java/com/alibaba/fastjson/parser/deserializer/TimeDeserializer.java",
"chars": 3132,
"preview": "package com.alibaba.fastjson.parser.deserializer;\n\nimport java.lang.reflect.Type;\nimport java.math.BigDecimal;\n\nimport c"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ASMSerializerFactory.java",
"chars": 95622,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport com.alibaba.fastjson.JSONException;\nimport com.alibaba.fastjson.annotat"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/AdderSerializer.java",
"chars": 890,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.io.IOException;\nimport java.lang.reflect.Type;\nimport java.util.co"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/AfterFilter.java",
"chars": 1305,
"preview": "package com.alibaba.fastjson.serializer;\n\n/**\n * @since 1.1.35\n */\npublic abstract class AfterFilter implements Serializ"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/AnnotationSerializer.java",
"chars": 4067,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport com.alibaba.fastjson.JSON;\nimport com.alibaba.fastjson.JSONException;\ni"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/AppendableSerializer.java",
"chars": 619,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.io.IOException;\nimport java.lang.reflect.Type;\n\npublic class Appen"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ArraySerializer.java",
"chars": 2756,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/AtomicCodec.java",
"chars": 4117,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/AutowiredObjectSerializer.java",
"chars": 879,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/AwtCodec.java",
"chars": 11585,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.awt.Color;\nimport java.awt.Font;\nimport java.awt.Point;\nimport jav"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/BeanContext.java",
"chars": 1488,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.lang.annotation.Annotation;\nimport java.lang.reflect.Field;\nimport"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/BeforeFilter.java",
"chars": 1257,
"preview": "package com.alibaba.fastjson.serializer;\n\npublic abstract class BeforeFilter implements SerializeFilter {\n\n private s"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/BigDecimalCodec.java",
"chars": 3923,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/BigIntegerCodec.java",
"chars": 3140,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/BooleanCodec.java",
"chars": 3258,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ByteBufferCodec.java",
"chars": 1630,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport com.alibaba.fastjson.parser.DefaultJSONParser;\nimport com.alibaba.fastj"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/CalendarCodec.java",
"chars": 7005,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.io.IOException;\nimport java.lang.reflect.Type;\nimport java.text.Da"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/CharArrayCodec.java",
"chars": 2351,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.lang.reflect.Type;\nimport java.util.Collection;\n\nimport com.alibab"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/CharacterCodec.java",
"chars": 2031,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ClobSerializer.java",
"chars": 1457,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.io.IOException;\nimport java.io.Reader;\nimport java.lang.reflect.Ty"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/CollectionCodec.java",
"chars": 4900,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ContextObjectSerializer.java",
"chars": 275,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.io.IOException;\n\npublic interface ContextObjectSerializer extends "
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ContextValueFilter.java",
"chars": 216,
"preview": "package com.alibaba.fastjson.serializer;\n\n/**\n * @since 1.2.9\n *\n */\npublic interface ContextValueFilter extends Seriali"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/DateCodec.java",
"chars": 13441,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/DoubleSerializer.java",
"chars": 2080,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/EnumSerializer.java",
"chars": 1854,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/EnumerationSerializer.java",
"chars": 1806,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.io.IOException;\nimport java.lang.reflect.ParameterizedType;\nimport"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/FieldSerializer.java",
"chars": 14264,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/FloatCodec.java",
"chars": 3346,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/GuavaCodec.java",
"chars": 1875,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport com.alibaba.fastjson.JSONObject;\nimport com.alibaba.fastjson.parser.Def"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/IntegerCodec.java",
"chars": 3947,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/JSONAwareSerializer.java",
"chars": 1341,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/JSONLibDataFormatSerializer.java",
"chars": 1085,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.io.IOException;\nimport java.lang.reflect.Type;\nimport java.util.Da"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/JSONObjectCodec.java",
"chars": 862,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.io.IOException;\nimport java.lang.reflect.Field;\nimport java.lang.r"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/JSONSerializable.java",
"chars": 1178,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/JSONSerializableSerializer.java",
"chars": 1312,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/JSONSerializer.java",
"chars": 14717,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/JSONSerializerMap.java",
"chars": 241,
"preview": "package com.alibaba.fastjson.serializer;\n\n\n@Deprecated\npublic class JSONSerializerMap extends SerializeConfig {\n publ"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/JavaBeanSerializer.java",
"chars": 35856,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/JodaCodec.java",
"chars": 21481,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport com.alibaba.fastjson.JSON;\nimport com.alibaba.fastjson.JSONObject;\nimpo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/LabelFilter.java",
"chars": 800,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/Labels.java",
"chars": 1961,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ListSerializer.java",
"chars": 6010,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/LongCodec.java",
"chars": 3650,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/MapSerializer.java",
"chars": 11986,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/MiscCodec.java",
"chars": 14505,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/NameFilter.java",
"chars": 764,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ObjectArrayCodec.java",
"chars": 9024,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ObjectSerializer.java",
"chars": 2780,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/PascalNameFilter.java",
"chars": 446,
"preview": "package com.alibaba.fastjson.serializer;\n\npublic class PascalNameFilter implements NameFilter {\n\n public String proce"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/PrimitiveArraySerializer.java",
"chars": 4240,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/PropertyFilter.java",
"chars": 1051,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/PropertyPreFilter.java",
"chars": 784,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ReferenceCodec.java",
"chars": 2576,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/SerialContext.java",
"chars": 3123,
"preview": "package com.alibaba.fastjson.serializer;\n\npublic class SerialContext {\n\n public final SerialContext parent;\n publi"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/SerializeBeanInfo.java",
"chars": 1086,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport com.alibaba.fastjson.annotation.JSONType;\nimport com.alibaba.fastjson.u"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/SerializeConfig.java",
"chars": 36503,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/SerializeFilter.java",
"chars": 81,
"preview": "package com.alibaba.fastjson.serializer;\n\n\npublic interface SerializeFilter {\n\n}\n"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/SerializeFilterable.java",
"chars": 8905,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.text.DecimalFormat;\nimport java.util.ArrayList;\nimport java.util.L"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/SerializeWriter.java",
"chars": 89984,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/SerializerFeature.java",
"chars": 3982,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/SimpleDateFormatSerializer.java",
"chars": 833,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.io.IOException;\nimport java.lang.reflect.Type;\nimport java.text.Si"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/SimplePropertyPreFilter.java",
"chars": 2520,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.util.HashSet;\nimport java.util.Set;\n\n/*\n * Copyright 1999-2018 Ali"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/StringCodec.java",
"chars": 3742,
"preview": "/*\r\n * Copyright 1999-2018 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ToStringSerializer.java",
"chars": 637,
"preview": "package com.alibaba.fastjson.serializer;\n\nimport java.io.IOException;\nimport java.lang.reflect.Type;\n\npublic class ToStr"
},
{
"path": "src/main/java/com/alibaba/fastjson/serializer/ValueFilter.java",
"chars": 766,
"preview": "/*\n * Copyright 1999-2018 Alibaba Group.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/spi/Module.java",
"chars": 445,
"preview": "package com.alibaba.fastjson.spi;\n\nimport com.alibaba.fastjson.parser.ParserConfig;\nimport com.alibaba.fastjson.parser.d"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/config/FastJsonConfig.java",
"chars": 5943,
"preview": "\r\npackage com.alibaba.fastjson.support.config;\r\n\r\nimport com.alibaba.fastjson.parser.Feature;\r\nimport com.alibaba.fastjs"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/geo/Feature.java",
"chars": 977,
"preview": "package com.alibaba.fastjson.support.geo;\n\nimport com.alibaba.fastjson.annotation.JSONType;\n\nimport java.util.LinkedHash"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/geo/FeatureCollection.java",
"chars": 526,
"preview": "package com.alibaba.fastjson.support.geo;\n\nimport com.alibaba.fastjson.annotation.JSONType;\n\nimport java.util.ArrayList;"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/geo/Geometry.java",
"chars": 764,
"preview": "package com.alibaba.fastjson.support.geo;\n\nimport com.alibaba.fastjson.annotation.JSONType;\n\n/**\n * @since 1.2.68\n */\n@J"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/geo/GeometryCollection.java",
"chars": 529,
"preview": "package com.alibaba.fastjson.support.geo;\n\nimport com.alibaba.fastjson.annotation.JSONType;\nimport java.util.ArrayList;\n"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/geo/LineString.java",
"chars": 518,
"preview": "package com.alibaba.fastjson.support.geo;\n\nimport com.alibaba.fastjson.annotation.JSONType;\n\n/**\n * @since 1.2.68\n */\n@J"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/geo/MultiLineString.java",
"chars": 544,
"preview": "package com.alibaba.fastjson.support.geo;\n\nimport com.alibaba.fastjson.annotation.JSONType;\n\n/**\n * @since 1.2.68\n */\n@J"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/geo/MultiPoint.java",
"chars": 518,
"preview": "package com.alibaba.fastjson.support.geo;\n\nimport com.alibaba.fastjson.annotation.JSONType;\n\n/**\n * @since 1.2.68\n */\n@J"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/geo/MultiPolygon.java",
"chars": 546,
"preview": "package com.alibaba.fastjson.support.geo;\n\nimport com.alibaba.fastjson.annotation.JSONType;\n\n/**\n * @since 1.2.68\n */\n@J"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/geo/Point.java",
"chars": 1356,
"preview": "package com.alibaba.fastjson.support.geo;\n\nimport com.alibaba.fastjson.annotation.JSONField;\nimport com.alibaba.fastjson"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/geo/Polygon.java",
"chars": 512,
"preview": "package com.alibaba.fastjson.support.geo;\n\nimport com.alibaba.fastjson.annotation.JSONType;\n\n/**\n * @since 1.2.68\n */\n@J"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/hsf/HSFJSONUtils.java",
"chars": 4546,
"preview": "package com.alibaba.fastjson.support.hsf;\n\nimport com.alibaba.fastjson.JSON;\nimport com.alibaba.fastjson.JSONArray;\nimpo"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/hsf/MethodLocator.java",
"chars": 151,
"preview": "package com.alibaba.fastjson.support.hsf;\n\nimport java.lang.reflect.Method;\n\npublic interface MethodLocator {\n Method"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/jaxrs/FastJsonAutoDiscoverable.java",
"chars": 1197,
"preview": "package com.alibaba.fastjson.support.jaxrs;\n\nimport org.glassfish.jersey.internal.spi.AutoDiscoverable;\n\nimport javax.an"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/jaxrs/FastJsonFeature.java",
"chars": 1824,
"preview": "package com.alibaba.fastjson.support.jaxrs;\n\nimport org.glassfish.jersey.CommonProperties;\nimport org.glassfish.jersey.i"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/jaxrs/FastJsonProvider.java",
"chars": 12772,
"preview": "package com.alibaba.fastjson.support.jaxrs;\n\nimport com.alibaba.fastjson.JSON;\nimport com.alibaba.fastjson.JSONException"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/moneta/MonetaCodec.java",
"chars": 2095,
"preview": "package com.alibaba.fastjson.support.moneta;\n\nimport com.alibaba.fastjson.JSONObject;\nimport com.alibaba.fastjson.parser"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/retrofit/Retrofit2ConverterFactory.java",
"chars": 7903,
"preview": "package com.alibaba.fastjson.support.retrofit;\n\nimport com.alibaba.fastjson.JSON;\nimport com.alibaba.fastjson.parser.Fea"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/FastJsonContainer.java",
"chars": 639,
"preview": "package com.alibaba.fastjson.support.spring;\n\n/**\n * 一个简单的PO对象,包含原始输出对象和对应的过滤条件{@link PropertyPreFilters}\n * @author yan"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/FastJsonHttpMessageConverter.java",
"chars": 15842,
"preview": "package com.alibaba.fastjson.support.spring;\n\nimport com.alibaba.fastjson.JSON;\nimport com.alibaba.fastjson.JSONExceptio"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/FastJsonHttpMessageConverter4.java",
"chars": 1935,
"preview": "package com.alibaba.fastjson.support.spring;\r\n\r\nimport org.springframework.http.HttpInputMessage;\r\nimport org.springfram"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/FastJsonJsonView.java",
"chars": 11879,
"preview": "package com.alibaba.fastjson.support.spring;\n\nimport com.alibaba.fastjson.JSON;\nimport com.alibaba.fastjson.JSONPObject;"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/FastJsonRedisSerializer.java",
"chars": 2265,
"preview": "package com.alibaba.fastjson.support.spring;\n\nimport com.alibaba.fastjson.JSON;\nimport com.alibaba.fastjson.support.conf"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/FastJsonViewResponseBodyAdvice.java",
"chars": 2673,
"preview": "package com.alibaba.fastjson.support.spring;\n\nimport com.alibaba.fastjson.support.spring.annotation.FastJsonFilter;\nimpo"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/FastJsonpHttpMessageConverter4.java",
"chars": 1882,
"preview": "package com.alibaba.fastjson.support.spring;\n\nimport org.springframework.http.HttpInputMessage;\nimport org.springframewo"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/FastJsonpResponseBodyAdvice.java",
"chars": 5000,
"preview": "package com.alibaba.fastjson.support.spring;\n\nimport org.springframework.core.MethodParameter;\nimport org.springframewor"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/FastjsonSockJsMessageCodec.java",
"chars": 1042,
"preview": "package com.alibaba.fastjson.support.spring;\n\nimport java.io.IOException;\nimport java.io.InputStream;\n\nimport org.spring"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/GenericFastJsonRedisSerializer.java",
"chars": 1493,
"preview": "package com.alibaba.fastjson.support.spring;\n\nimport com.alibaba.fastjson.JSON;\nimport com.alibaba.fastjson.parser.Parse"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/JSONPResponseBodyAdvice.java",
"chars": 4157,
"preview": "package com.alibaba.fastjson.support.spring;\n\nimport com.alibaba.fastjson.JSONPObject;\nimport com.alibaba.fastjson.suppo"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/MappingFastJsonValue.java",
"chars": 2524,
"preview": "package com.alibaba.fastjson.support.spring;\n\nimport com.alibaba.fastjson.JSONPObject;\nimport com.alibaba.fastjson.seria"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/PropertyPreFilters.java",
"chars": 2175,
"preview": "package com.alibaba.fastjson.support.spring;\n\nimport com.alibaba.fastjson.serializer.SimplePropertyPreFilter;\n\nimport ja"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/annotation/FastJsonFilter.java",
"chars": 346,
"preview": "package com.alibaba.fastjson.support.spring.annotation;\n\nimport java.lang.annotation.*;\n\n/**\n * <pre>\n * 设置过滤对象对应的class和"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/annotation/FastJsonView.java",
"chars": 574,
"preview": "package com.alibaba.fastjson.support.spring.annotation;\n\nimport java.lang.annotation.*;\n\n/**\n * <pre>\n * 一个放置到 {@link or"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/annotation/ResponseJSONP.java",
"chars": 524,
"preview": "package com.alibaba.fastjson.support.spring.annotation;\n\nimport org.springframework.web.bind.annotation.ResponseBody;\n\ni"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/spring/messaging/MappingFastJsonMessageConverter.java",
"chars": 3684,
"preview": "package com.alibaba.fastjson.support.spring.messaging;\n\nimport com.alibaba.fastjson.JSON;\nimport com.alibaba.fastjson.su"
},
{
"path": "src/main/java/com/alibaba/fastjson/support/springfox/SwaggerJsonSerializer.java",
"chars": 939,
"preview": "package com.alibaba.fastjson.support.springfox;\n\nimport java.io.IOException;\nimport java.lang.reflect.Type;\n\nimport com."
},
{
"path": "src/main/java/com/alibaba/fastjson/util/ASMClassLoader.java",
"chars": 7026,
"preview": "package com.alibaba.fastjson.util;\n\nimport java.security.PrivilegedAction;\nimport java.util.HashMap;\nimport java.util.Ma"
},
{
"path": "src/main/java/com/alibaba/fastjson/util/ASMUtils.java",
"chars": 6074,
"preview": "package com.alibaba.fastjson.util;\n\nimport com.alibaba.fastjson.annotation.JSONField;\nimport com.alibaba.fastjson.asm.Cl"
},
{
"path": "src/main/java/com/alibaba/fastjson/util/AntiCollisionHashMap.java",
"chars": 31967,
"preview": "package com.alibaba.fastjson.util;\n\nimport java.io.IOException;\nimport java.io.Serializable;\nimport java.util.*;\n\n/**\n *"
},
{
"path": "src/main/java/com/alibaba/fastjson/util/Base64.java",
"chars": 7943,
"preview": "package com.alibaba.fastjson.util;\n\nimport java.util.Arrays;\n\n/**\n *\n * @version 2.2\n * @author Mikael Grev Date: 2004-a"
},
{
"path": "src/main/java/com/alibaba/fastjson/util/BiFunction.java",
"chars": 301,
"preview": "package com.alibaba.fastjson.util;\n\npublic interface BiFunction<T, U, R> {\n\n /**\n * Applies this function to the "
},
{
"path": "src/main/java/com/alibaba/fastjson/util/FieldInfo.java",
"chars": 20538,
"preview": "package com.alibaba.fastjson.util;\n\nimport java.lang.annotation.Annotation;\nimport java.lang.reflect.Array;\nimport java."
},
{
"path": "src/main/java/com/alibaba/fastjson/util/Function.java",
"chars": 175,
"preview": "package com.alibaba.fastjson.util;\n\npublic interface Function<ARG, V> {\n /**\n * Computes a result\n *\n * @"
},
{
"path": "src/main/java/com/alibaba/fastjson/util/GenericArrayTypeImpl.java",
"chars": 1336,
"preview": "package com.alibaba.fastjson.util;\n\nimport java.lang.reflect.GenericArrayType;\nimport java.lang.reflect.Type;\n\npublic cl"
},
{
"path": "src/main/java/com/alibaba/fastjson/util/IOUtils.java",
"chars": 30529,
"preview": "/*\r\n * Copyright 1999-2017 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/util/IdentityHashMap.java",
"chars": 3527,
"preview": "/*\r\n * Copyright 1999-2017 Alibaba Group.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * yo"
},
{
"path": "src/main/java/com/alibaba/fastjson/util/JavaBeanInfo.java",
"chars": 48613,
"preview": "package com.alibaba.fastjson.util;\n\nimport java.lang.annotation.Annotation;\nimport java.lang.reflect.*;\nimport java.util"
},
{
"path": "src/main/java/com/alibaba/fastjson/util/ModuleUtil.java",
"chars": 1005,
"preview": "package com.alibaba.fastjson.util;\n\nimport java.util.concurrent.Callable;\n\npublic class ModuleUtil {\n private static "
},
{
"path": "src/main/java/com/alibaba/fastjson/util/ParameterizedTypeImpl.java",
"chars": 1668,
"preview": "package com.alibaba.fastjson.util;\n\nimport java.lang.reflect.ParameterizedType;\nimport java.lang.reflect.Type;\nimport ja"
},
{
"path": "src/main/java/com/alibaba/fastjson/util/RyuDouble.java",
"chars": 22776,
"preview": "// Copyright 2018 Ulf Adams\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use thi"
},
{
"path": "src/main/java/com/alibaba/fastjson/util/RyuFloat.java",
"chars": 15767,
"preview": "// Copyright 2018 Ulf Adams\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use thi"
}
]
// ... and 3040 more files (download for full content)
About this extraction
This page contains the full source code of the alibaba/fastjson GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 3240 files (9.5 MB), approximately 2.7M tokens, and a symbol index with 26978 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.