├── .github └── workflows │ └── ci.yaml ├── .gitignore ├── .gitpod.yml ├── .travis.yml ├── CONTRIBUTING.md ├── README.md ├── SECURITY.md ├── license.txt ├── logo.jpg ├── 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 │ │ │ │ │ ├── autoType │ │ │ │ │ │ ├── AutoTypeTest0.java │ │ │ │ │ │ ├── AutoTypeTest1.java │ │ │ │ │ │ ├── AutoTypeTest2_deny.java │ │ │ │ │ │ ├── AutoTypeTest3_deny.java │ │ │ │ │ │ ├── AutoTypeTest5.java │ │ │ │ │ │ ├── AutoTypeTest6.java │ │ │ │ │ │ └── AutoTypeTest7.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 │ ├── issue859.zip │ ├── json.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 │ ├── 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 │ │ └── User1.clazz │ ├── issue1547 │ │ └── Head.clazz │ └── zuojing │ │ ├── NoticeData.clazz │ │ ├── NoticeDataKt.clazz │ │ └── NoticeData_Companion.clazz │ ├── log4j.properties │ ├── log4j2.xml │ └── wuyexiong.json ├── vtune.sh └── x.sh /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /.project 3 | /.settings 4 | /.classpath 5 | /.idea 6 | /.DS_Store 7 | *.iml 8 | /src/test/java/com/alibaba/json/bvt/parser/autoType/ 9 | /bin/ 10 | -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- 1 | tasks: 2 | - init: mvn install -DskipTests=true 3 | 4 | vscode: 5 | extensions: 6 | - vscjava.vscode-maven@0.21.0:37ZOg7jK2M04yXsE+ItbZg== 7 | - GabrielBB.vscode-lombok@1.0.0:fYRHVd+UkrccCfjaRz7jKw== -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | jdk: 3 | - openjdk8 4 | before_install: 5 | - pip install --user codecov 6 | after_success: 7 | - codecov 8 | branches: 9 | except: 10 | - appveyor 11 | 12 | cache: 13 | directories: 14 | - $HOME/.m2 15 | -------------------------------------------------------------------------------- /logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/logo.jpg -------------------------------------------------------------------------------- /src/main/java/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.1.35 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/JSONPathException.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson; 2 | 3 | @SuppressWarnings("serial") 4 | public class JSONPathException extends JSONException { 5 | 6 | public JSONPathException(String message){ 7 | super(message); 8 | } 9 | 10 | public JSONPathException(String message, Throwable cause){ 11 | super(message, cause); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/annotation/JSONCreator.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target({ ElementType.CONSTRUCTOR, ElementType.METHOD }) 10 | public @interface JSONCreator { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/parser/deserializer/AutowiredObjectDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.parser.deserializer; 2 | 3 | import java.lang.reflect.Type; 4 | import java.util.Set; 5 | 6 | 7 | public interface AutowiredObjectDeserializer extends ObjectDeserializer{ 8 | Set getAutowiredFor(); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/parser/deserializer/ContextObjectDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.parser.deserializer; 2 | 3 | import java.lang.reflect.Type; 4 | 5 | import com.alibaba.fastjson.parser.DefaultJSONParser; 6 | 7 | public abstract class ContextObjectDeserializer implements ObjectDeserializer { 8 | public T deserialze(DefaultJSONParser parser, Type type, Object fieldName) { 9 | return deserialze(parser, type, fieldName, null, 0); 10 | } 11 | 12 | public abstract T deserialze(DefaultJSONParser parser, Type type, Object fieldName, String format, int features); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/parser/deserializer/ExtraProcessable.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.parser.deserializer; 2 | 3 | /** 4 | * 5 | * @author wenshao[szujobs@hotmail.com] 6 | * @since 1.2.9 7 | */ 8 | public interface ExtraProcessable { 9 | void processExtra(String key, Object value); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/parser/deserializer/ExtraProcessor.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.parser.deserializer; 2 | 3 | /** 4 | * 5 | * @author wenshao[szujobs@hotmail.com] 6 | * @since 1.1.34 7 | */ 8 | public interface ExtraProcessor extends ParseProcess { 9 | 10 | void processExtra(Object object, String key, Object value); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/parser/deserializer/ExtraTypeProvider.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.parser.deserializer; 2 | 3 | import java.lang.reflect.Type; 4 | 5 | /** 6 | * @author wenshao[szujobs@hotmail.com] 7 | * @since 1.1.34 8 | */ 9 | public interface ExtraTypeProvider extends ParseProcess { 10 | 11 | Type getExtraType(Object object, String key); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/parser/deserializer/FieldTypeResolver.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.parser.deserializer; 2 | 3 | import java.lang.reflect.Type; 4 | 5 | public interface FieldTypeResolver extends ParseProcess { 6 | Type resolve(Object object, String fieldName); 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/parser/deserializer/ParseProcess.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.parser.deserializer; 2 | 3 | 4 | public interface ParseProcess { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/serializer/ContextObjectSerializer.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.serializer; 2 | 3 | import java.io.IOException; 4 | 5 | public interface ContextObjectSerializer extends ObjectSerializer { 6 | void write(JSONSerializer serializer, // 7 | Object object, // 8 | BeanContext context) throws IOException; 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/serializer/ContextValueFilter.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.serializer; 2 | 3 | /** 4 | * @since 1.2.9 5 | * 6 | */ 7 | public interface ContextValueFilter extends SerializeFilter { 8 | Object process(BeanContext context, Object object, String name, Object value); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/serializer/JSONSerializerMap.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.serializer; 2 | 3 | 4 | @Deprecated 5 | public class JSONSerializerMap extends SerializeConfig { 6 | public final boolean put(Class clazz, ObjectSerializer serializer) { 7 | return super.put(clazz, serializer); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/serializer/PascalNameFilter.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.serializer; 2 | 3 | public class PascalNameFilter implements NameFilter { 4 | 5 | public String process(Object source, String name, Object value) { 6 | if (name == null || name.length() == 0) { 7 | return name; 8 | } 9 | 10 | char[] chars = name.toCharArray(); 11 | chars[0]= Character.toUpperCase(chars[0]); 12 | 13 | String pascalName = new String(chars); 14 | return pascalName; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/serializer/SerializeFilter.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.serializer; 2 | 3 | 4 | public interface SerializeFilter { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/spi/Module.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.spi; 2 | 3 | import com.alibaba.fastjson.parser.ParserConfig; 4 | import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer; 5 | import com.alibaba.fastjson.serializer.ObjectSerializer; 6 | import com.alibaba.fastjson.serializer.SerializeConfig; 7 | 8 | public interface Module { 9 | ObjectDeserializer createDeserializer(ParserConfig config, Class type); 10 | ObjectSerializer createSerializer(SerializeConfig config, Class type); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/support/geo/Polygon.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.support.geo; 2 | 3 | import com.alibaba.fastjson.annotation.JSONType; 4 | 5 | /** 6 | * @since 1.2.68 7 | */ 8 | @JSONType(typeName = "Polygon", orders = {"type", "bbox", "coordinates"}) 9 | public class Polygon extends Geometry { 10 | private double[][][] coordinates; 11 | 12 | public Polygon() { 13 | super("Polygon"); 14 | } 15 | 16 | public double[][][] getCoordinates() { 17 | return coordinates; 18 | } 19 | 20 | public void setCoordinates(double[][][] coordinates) { 21 | this.coordinates = coordinates; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/support/hsf/MethodLocator.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.support.hsf; 2 | 3 | import java.lang.reflect.Method; 4 | 5 | public interface MethodLocator { 6 | Method findMethod(String[] types); 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/support/spring/annotation/FastJsonFilter.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.support.spring.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | *
 7 |  * 设置过滤对象对应的class和对应的属性
 8 |  * 
9 | * @author yanquanyu 10 | * @author liuming 11 | */ 12 | @Target(ElementType.ANNOTATION_TYPE) 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Documented 15 | public @interface FastJsonFilter { 16 | Class clazz(); 17 | String[] props(); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/util/BiFunction.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.util; 2 | 3 | public interface BiFunction { 4 | 5 | /** 6 | * Applies this function to the given arguments. 7 | * 8 | * @param t the first function argument 9 | * @param u the second function argument 10 | * @return the function result 11 | */ 12 | R apply(T t, U u); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/alibaba/fastjson/util/Function.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.util; 2 | 3 | public interface Function { 4 | /** 5 | * Computes a result 6 | * 7 | * @return computed result 8 | */ 9 | V apply(ARG arg); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyReader: -------------------------------------------------------------------------------- 1 | com.alibaba.fastjson.support.jaxrs.FastJsonProvider -------------------------------------------------------------------------------- /src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter: -------------------------------------------------------------------------------- 1 | com.alibaba.fastjson.support.jaxrs.FastJsonProvider -------------------------------------------------------------------------------- /src/main/resources/META-INF/services/javax.ws.rs.ext.Providers: -------------------------------------------------------------------------------- 1 | com.alibaba.fastjson.support.jaxrs.FastJsonProvider -------------------------------------------------------------------------------- /src/main/resources/META-INF/services/org.glassfish.jersey.internal.spi.AutoDiscoverable: -------------------------------------------------------------------------------- 1 | com.alibaba.fastjson.support.jaxrs.FastJsonAutoDiscoverable -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/ValueBean.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer; 2 | 3 | /** 4 | * Created by jiangyu on 2017-03-03 11:34. 5 | */ 6 | public class ValueBean { 7 | 8 | private Integer val; 9 | 10 | public Integer getVal() { 11 | return val; 12 | } 13 | 14 | public ValueBean setVal(Integer val) { 15 | this.val = val; 16 | return this; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issue2638/TestIssue2638.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issue2638; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import org.junit.Test; 5 | 6 | /** 7 | * @Author:JacceYang chaoyang_sjtu@126.com 8 | * @Description: 9 | * @Data:Initialized in 7:54 PM 2019/8/17 10 | **/ 11 | public class TestIssue2638 { 12 | 13 | @Test 14 | public void testBug2638() { 15 | String str="}"; 16 | JSON.parseObject(str,Person.class); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issue2779/Issue2779Test.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issue2779; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import org.junit.Test; 5 | 6 | // https://github.com/alibaba/fastjson/issues/2779 7 | public class Issue2779Test { 8 | @Test 9 | public void canDeserializeLargeJavaBean() { 10 | JSON.parseObject("{}", LargeJavaBean.class); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/TestIssues3796.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.deserializer.issues3796.bean.LargeJavaBean; 5 | import org.junit.Test; 6 | 7 | /** 8 | * @author kurisu9az 9 | * @description 修复issues3796 10 | * @date 2021/6/2 18:48 11 | **/ 12 | public class TestIssues3796 { 13 | 14 | @Test 15 | public void testIssues3796() { 16 | JSON.parseObject("{}", LargeJavaBean.class); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/CommonObject2.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | public class CommonObject2 { 5 | 6 | private int a; 7 | 8 | private long b; 9 | 10 | public int getA() { 11 | return a; 12 | } 13 | 14 | public void setA(int a) { 15 | this.a = a; 16 | } 17 | 18 | public long getB() { 19 | return b; 20 | } 21 | 22 | public void setB(long b) { 23 | this.b = b; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/CommonObject3.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | public class CommonObject3 { 4 | 5 | private long a; 6 | 7 | private long b; 8 | 9 | private int c; 10 | 11 | public long getA() { 12 | return a; 13 | } 14 | 15 | public void setA(long a) { 16 | this.a = a; 17 | } 18 | 19 | public long getB() { 20 | return b; 21 | } 22 | 23 | public void setB(long b) { 24 | this.b = b; 25 | } 26 | 27 | public int getC() { 28 | return c; 29 | } 30 | 31 | public void setC(int c) { 32 | this.c = c; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectB1.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | import java.util.List; 4 | 5 | public class ObjectB1 { 6 | 7 | List a; 8 | 9 | 10 | private int b; 11 | 12 | public List getA() { 13 | return a; 14 | } 15 | 16 | public void setA(List a) { 17 | this.a = a; 18 | } 19 | 20 | public int getB() { 21 | return b; 22 | } 23 | 24 | public void setB(int b) { 25 | this.b = b; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectC2.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | public class ObjectC2 { 4 | private int a; 5 | 6 | private boolean b; 7 | 8 | public int getA() { 9 | return a; 10 | } 11 | 12 | public void setA(int a) { 13 | this.a = a; 14 | } 15 | 16 | public boolean isB() { 17 | return b; 18 | } 19 | 20 | public void setB(boolean b) { 21 | this.b = b; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectD_A.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectD_A { 8 | 9 | private int a; 10 | 11 | 12 | private boolean b; 13 | 14 | public int getA() { 15 | return a; 16 | } 17 | 18 | public void setA(int a) { 19 | this.a = a; 20 | } 21 | 22 | public boolean isB() { 23 | return b; 24 | } 25 | 26 | public void setB(boolean b) { 27 | this.b = b; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectE2.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectE2 { 8 | 9 | private int a; 10 | 11 | 12 | private boolean b; 13 | 14 | public int getA() { 15 | return a; 16 | } 17 | 18 | public void setA(int a) { 19 | this.a = a; 20 | } 21 | 22 | public boolean isB() { 23 | return b; 24 | } 25 | 26 | public void setB(boolean b) { 27 | this.b = b; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectG1.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | 8 | public class ObjectG1 { 9 | private int a; 10 | private int b; 11 | private int c; 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectH_A.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | 8 | public class ObjectH_A { 9 | 10 | private int a; 11 | 12 | private int b; 13 | 14 | private int c; 15 | 16 | public int getA() { 17 | return a; 18 | } 19 | 20 | public void setA(int a) { 21 | this.a = a; 22 | } 23 | 24 | public int getB() { 25 | return b; 26 | } 27 | 28 | public void setB(int b) { 29 | this.b = b; 30 | } 31 | 32 | public int getC() { 33 | return c; 34 | } 35 | 36 | public void setC(int c) { 37 | this.c = c; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectJ2.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | 8 | public class ObjectJ2 { 9 | 10 | 11 | private boolean a; 12 | 13 | 14 | private boolean b; 15 | 16 | public boolean isA() { 17 | return a; 18 | } 19 | 20 | public void setA(boolean a) { 21 | this.a = a; 22 | } 23 | 24 | public boolean isB() { 25 | return b; 26 | } 27 | 28 | public void setB(boolean b) { 29 | this.b = b; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectJ_C.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectJ_C { 8 | 9 | private int a; 10 | 11 | 12 | private int b; 13 | 14 | public int getA() { 15 | return a; 16 | } 17 | 18 | public void setA(int a) { 19 | this.a = a; 20 | } 21 | 22 | public int getB() { 23 | return b; 24 | } 25 | 26 | public void setB(int b) { 27 | this.b = b; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectK2.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | import java.util.List; 6 | 7 | 8 | public class ObjectK2 { 9 | private int a; 10 | private List b; 11 | 12 | public int getA() { 13 | return a; 14 | } 15 | 16 | public void setA(int a) { 17 | this.a = a; 18 | } 19 | 20 | public List getB() { 21 | return b; 22 | } 23 | 24 | public void setB(List b) { 25 | this.b = b; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectL2_B.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectL2_B { 8 | 9 | int a; 10 | 11 | int b; 12 | 13 | public int getA() { 14 | return a; 15 | } 16 | 17 | public void setA(int a) { 18 | this.a = a; 19 | } 20 | 21 | public int getB() { 22 | return b; 23 | } 24 | 25 | public void setB(int b) { 26 | this.b = b; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectL2_C.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectL2_C { 8 | int a; 9 | int b; 10 | 11 | public int getA() { 12 | return a; 13 | } 14 | 15 | public void setA(int a) { 16 | this.a = a; 17 | } 18 | 19 | public int getB() { 20 | return b; 21 | } 22 | 23 | public void setB(int b) { 24 | this.b = b; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectL_A.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectL_A { 8 | 9 | private int a; 10 | 11 | 12 | private int b; 13 | 14 | 15 | private long c; 16 | 17 | public int getA() { 18 | return a; 19 | } 20 | 21 | public void setA(int a) { 22 | this.a = a; 23 | } 24 | 25 | public int getB() { 26 | return b; 27 | } 28 | 29 | public void setB(int b) { 30 | this.b = b; 31 | } 32 | 33 | public long getC() { 34 | return c; 35 | } 36 | 37 | public void setC(long c) { 38 | this.c = c; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectM1_A.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectM1_A { 8 | 9 | private int a; 10 | 11 | private int b; 12 | 13 | public int getA() { 14 | return a; 15 | } 16 | 17 | public void setA(int a) { 18 | this.a = a; 19 | } 20 | 21 | public int getB() { 22 | return b; 23 | } 24 | 25 | public void setB(int b) { 26 | this.b = b; 27 | } 28 | } -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectM2_A.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectM2_A { 8 | 9 | 10 | private int a; 11 | 12 | public int getA() { 13 | return a; 14 | } 15 | 16 | public void setA(int a) { 17 | this.a = a; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectM_A.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectM_A { 8 | 9 | private int a; 10 | 11 | private int b; 12 | 13 | private long c; 14 | 15 | public int getA() { 16 | return a; 17 | } 18 | 19 | public void setA(int a) { 20 | this.a = a; 21 | } 22 | 23 | public int getB() { 24 | return b; 25 | } 26 | 27 | public void setB(int b) { 28 | this.b = b; 29 | } 30 | 31 | public long getC() { 32 | return c; 33 | } 34 | 35 | public void setC(long c) { 36 | this.c = c; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectO2.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | public class ObjectO2 { 4 | 5 | private int a; 6 | 7 | 8 | private boolean b = true; 9 | 10 | 11 | private int c; 12 | 13 | public int getA() { 14 | return a; 15 | } 16 | 17 | public void setA(int a) { 18 | this.a = a; 19 | } 20 | 21 | public boolean isB() { 22 | return b; 23 | } 24 | 25 | public void setB(boolean b) { 26 | this.b = b; 27 | } 28 | 29 | public int getC() { 30 | return c; 31 | } 32 | 33 | public void setC(int c) { 34 | this.c = c; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectQ1_B.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectQ1_B { 8 | 9 | 10 | private int a; 11 | 12 | 13 | private boolean b; 14 | 15 | public int getA() { 16 | return a; 17 | } 18 | 19 | public void setA(int a) { 20 | this.a = a; 21 | } 22 | 23 | public boolean isB() { 24 | return b; 25 | } 26 | 27 | public void setB(boolean b) { 28 | this.b = b; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectS.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | 8 | public class ObjectS { 9 | 10 | private int a; 11 | 12 | private int b; 13 | 14 | public int getA() { 15 | return a; 16 | } 17 | 18 | public void setA(int a) { 19 | this.a = a; 20 | } 21 | 22 | public int getB() { 23 | return b; 24 | } 25 | 26 | public void setB(int b) { 27 | this.b = b; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectU1_A.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectU1_A { 8 | 9 | private int a; 10 | 11 | private long b; 12 | 13 | private int c; 14 | 15 | public int getA() { 16 | return a; 17 | } 18 | 19 | public void setA(int a) { 20 | this.a = a; 21 | } 22 | 23 | public long getB() { 24 | return b; 25 | } 26 | 27 | public void setB(long b) { 28 | this.b = b; 29 | } 30 | 31 | public int getC() { 32 | return c; 33 | } 34 | 35 | public void setC(int c) { 36 | this.c = c; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectU1_C.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectU1_C { 8 | 9 | private int a; 10 | 11 | private boolean b; 12 | 13 | public int getA() { 14 | return a; 15 | } 16 | 17 | public void setA(int a) { 18 | this.a = a; 19 | } 20 | 21 | public boolean isB() { 22 | return b; 23 | } 24 | 25 | public void setB(boolean b) { 26 | this.b = b; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectV.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | import java.util.List; 7 | 8 | 9 | public class ObjectV { 10 | 11 | private List a; 12 | 13 | 14 | private List b; 15 | 16 | public List getA() { 17 | return a; 18 | } 19 | 20 | public void setA(List a) { 21 | this.a = a; 22 | } 23 | 24 | public List getB() { 25 | return b; 26 | } 27 | 28 | public void setB(List b) { 29 | this.b = b; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectY1.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | 8 | public class ObjectY1 { 9 | 10 | private int a; 11 | 12 | 13 | private int b; 14 | 15 | private int c; 16 | 17 | public int getA() { 18 | return a; 19 | } 20 | 21 | public void setA(int a) { 22 | this.a = a; 23 | } 24 | 25 | public int getB() { 26 | return b; 27 | } 28 | 29 | public void setB(int b) { 30 | this.b = b; 31 | } 32 | 33 | public int getC() { 34 | return c; 35 | } 36 | 37 | public void setC(int c) { 38 | this.c = c; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectZ.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.issues3796.bean; 2 | 3 | 4 | 5 | 6 | 7 | public class ObjectZ { 8 | 9 | private int a; 10 | 11 | private long b; 12 | 13 | public int getA() { 14 | return a; 15 | } 16 | 17 | public void setA(int a) { 18 | this.a = a; 19 | } 20 | 21 | public long getB() { 22 | return b; 23 | } 24 | 25 | public void setB(long b) { 26 | this.b = b; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/deserializer/javabean/ConvertEnum.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.deserializer.javabean; 2 | 3 | /** 4 | * @author ylyue 5 | * @since 2021/3/24 6 | */ 7 | 8 | public enum ConvertEnum { 9 | 10 | A_A, BB_B; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/serializer/issue3177/TestIssues3177.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.serializer.issue3177; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import org.junit.Assert; 5 | import org.junit.Test; 6 | 7 | /** 8 | * 9 | * @author shenzhou-6 10 | * @since 2020年05月26日 11 | * 12 | * https://github.com/alibaba/fastjson/issues/3177 13 | */ 14 | public class TestIssues3177 { 15 | 16 | @Test 17 | public void testIssues3177(){ 18 | Test3177Bean.Son son = new Test3177Bean.Son(); 19 | son.setStatus("status"); 20 | Assert.assertEquals("{\"status\":\"status\"}",JSON.toJSONString(son)); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/fastjson/serializer/issues3601/TestEntity.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.fastjson.serializer.issues3601; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class TestEntity { 7 | private TestEnum testEnum; 8 | private String testName; 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/TestGC.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json; 2 | 3 | import junit.framework.TestCase; 4 | 5 | 6 | public class TestGC extends TestCase { 7 | public void test_0 () throws Exception { 8 | for (int i = 0; i < 1000 * 1000; ++i) { 9 | StringBuilder buf = new StringBuilder(1000 * 1000 * 10); 10 | buf.append(i); 11 | Thread.sleep(10); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/Base64Test.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.util.IOUtils; 6 | 7 | import junit.framework.TestCase; 8 | 9 | 10 | public class Base64Test extends TestCase { 11 | public void test_base64() throws Exception { 12 | Assert.assertEquals(IOUtils.decodeBase64(new char[0], 0, 0).length, 0); 13 | Assert.assertEquals(IOUtils.decodeBase64("ABC".toCharArray(), 0, 3).length, 2); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/Bug89.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONException; 5 | import org.junit.Test; 6 | 7 | import static org.junit.Assert.fail; 8 | 9 | public class Bug89 { 10 | @Test 11 | public void testBug89() { 12 | try { 13 | String s = "{\"a\":з」∠)_,\"}"; 14 | JSON.parseObject(s); 15 | fail("Expect JSONException"); 16 | } catch (JSONException e) { 17 | // good 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/FastJsonBigClassTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.serializer.SerializerFeature; 5 | import com.alibaba.json.bvtVO.BigClass; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class FastJsonBigClassTest extends TestCase { 10 | 11 | public void test_big_class() { 12 | BigClass bigObj = new BigClass(); 13 | String json = JSON.toJSONString(bigObj, SerializerFeature.IgnoreNonFieldGetter); 14 | // assertThat(json, not(containsString("skipme"))); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/IntKeyMapTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | public class IntKeyMapTest extends TestCase { 8 | 9 | public void test_0() throws Exception { 10 | JSON.parse("{1:\"AA\",2:{}}"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/JSONArrayTest_hashCode.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import org.junit.Assert; 4 | import junit.framework.TestCase; 5 | 6 | import com.alibaba.fastjson.JSON; 7 | import com.alibaba.fastjson.JSONArray; 8 | 9 | public class JSONArrayTest_hashCode extends TestCase { 10 | 11 | public void test_hashCode() throws Exception { 12 | Assert.assertEquals(new JSONArray().hashCode(), new JSONArray().hashCode()); 13 | } 14 | 15 | public void test_hashCode_1() throws Exception { 16 | Assert.assertEquals(JSON.parseArray("[]"), JSON.parseArray("[]")); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/JSONObjectTest6.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | 5 | import junit.framework.TestCase; 6 | 7 | public class JSONObjectTest6 extends TestCase { 8 | 9 | public void test() throws Exception { 10 | JSONObject jsonObject = new JSONObject(); 11 | jsonObject.put("value", 123); 12 | 13 | Model model = jsonObject.toJavaObject(Model.class); 14 | assertEquals(123, model.value); 15 | } 16 | 17 | public static class Model { 18 | public int value; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/JSONObjectTest7.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | import junit.framework.TestCase; 6 | 7 | public class JSONObjectTest7 extends TestCase { 8 | 9 | public void test() throws Exception { 10 | JSONObject jsonObject = JSON.parseObject("{\"test\":null,\"a\":\"cc\"}"); 11 | assertEquals(2, jsonObject.entrySet().size()); 12 | assertTrue(jsonObject.containsKey("test")); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/JSONObjectTest_getDate.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSONObject; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class JSONObjectTest_getDate extends TestCase { 10 | 11 | public void test_get_empty() throws Exception { 12 | JSONObject obj = new JSONObject(); 13 | obj.put("value", ""); 14 | Assert.assertEquals("", obj.get("value")); 15 | Assert.assertNull(obj.getDate("value")); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/JSONObjectTest_hashCode.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import org.junit.Assert; 4 | import junit.framework.TestCase; 5 | 6 | import com.alibaba.fastjson.JSON; 7 | import com.alibaba.fastjson.JSONObject; 8 | 9 | public class JSONObjectTest_hashCode extends TestCase { 10 | 11 | public void test_hashCode() throws Exception { 12 | Assert.assertEquals(new JSONObject().hashCode(), new JSONObject().hashCode()); 13 | } 14 | 15 | public void test_hashCode_1() throws Exception { 16 | Assert.assertEquals(JSON.parseObject("{a:1}"), JSON.parseObject("{'a':1}")); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/JavaBeanMappingTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import com.alibaba.fastjson.parser.ParserConfig; 4 | 5 | import junit.framework.TestCase; 6 | 7 | @SuppressWarnings("deprecation") 8 | public class JavaBeanMappingTest extends TestCase { 9 | 10 | public void test_0 () throws Exception { 11 | ParserConfig.getGlobalInstance(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/MapTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | import org.junit.Assert; 7 | import junit.framework.TestCase; 8 | 9 | import com.alibaba.fastjson.JSON; 10 | 11 | public class MapTest extends TestCase { 12 | 13 | public void test_null() throws Exception { 14 | Map map = new HashMap(); 15 | map.put(null, "123"); 16 | String text = JSON.toJSONString(map); 17 | Assert.assertEquals("{null:\"123\"}", text); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/MapTest2.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import java.util.Map; 4 | 5 | import org.junit.Assert; 6 | import junit.framework.TestCase; 7 | 8 | import com.alibaba.fastjson.JSON; 9 | import com.alibaba.fastjson.TypeReference; 10 | 11 | 12 | public class MapTest2 extends TestCase { 13 | public void test_map () throws Exception { 14 | Map map = JSON.parseObject("{1:\"2\",\"3\":4,'5':6}", new TypeReference>() {}); 15 | Assert.assertEquals("2", map.get(1)); 16 | Assert.assertEquals(4, map.get("3")); 17 | Assert.assertEquals(6, map.get("5")); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/ServiceLoaderTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.util.ServiceLoader; 6 | 7 | 8 | public class ServiceLoaderTest extends TestCase { 9 | public void test_0() throws Exception { 10 | new ServiceLoader(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/SlashTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import org.junit.Assert; 4 | import junit.framework.TestCase; 5 | 6 | import com.alibaba.fastjson.JSON; 7 | import com.alibaba.fastjson.JSONObject; 8 | 9 | public class SlashTest extends TestCase { 10 | public void test_0 () throws Exception { 11 | String text = "{\"errorMessage\":\"resource '/rpc/hello/none.json' is not found !\"}"; 12 | JSONObject json = (JSONObject) JSON.parse(text); 13 | 14 | Assert.assertEquals("{\"errorMessage\":\"resource '/rpc/hello/none.json' is not found !\"}", json.toString()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/TestTimeUnit.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | import org.junit.Assert; 6 | import junit.framework.TestCase; 7 | 8 | import com.alibaba.fastjson.JSON; 9 | 10 | 11 | public class TestTimeUnit extends TestCase { 12 | public void test_0 () throws Exception { 13 | String text = JSON.toJSONString(TimeUnit.DAYS); 14 | Assert.assertEquals(TimeUnit.DAYS, JSON.parseObject(text, TimeUnit.class)); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/asm/ClassReaderTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.asm; 2 | 3 | import junit.framework.TestCase; 4 | 5 | public class ClassReaderTest extends TestCase { 6 | public void test_read() throws Exception { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug1.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSONObject; 6 | import com.alibaba.json.bvt.bug.JSONTest.InnerEntry; 7 | import com.alibaba.json.bvt.bug.JSONTest.OuterEntry; 8 | 9 | public class Bug1 extends TestCase { 10 | 11 | public void testToEntry2() { 12 | InnerEntry inner1 = null;// 出错 13 | String source1 = JSONObject.toJSONString(inner1); 14 | System.out.println(source1); 15 | OuterEntry inner2 = JSONObject.parseObject(source1, OuterEntry.class);// 出错 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug11.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | public class Bug11 extends TestCase { 8 | 9 | public void test_bug11() throws Exception { 10 | String text = "[{KH:\"(2010-2011-2)-13105-13039-1\", JC:\"1\"}] "; 11 | JSON.parse(text); 12 | System.out.println(text); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_8.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import java.util.List; 4 | 5 | import org.junit.Assert; 6 | import junit.framework.TestCase; 7 | 8 | import com.alibaba.fastjson.JSONArray; 9 | 10 | public class Bug_8 extends TestCase { 11 | 12 | public void test_0() throws Exception { 13 | List typeList = JSONArray.parseArray("['java.lang.Class','java.lang.Long']", String.class); 14 | Assert.assertEquals("java.lang.Class", typeList.get(0)); 15 | Assert.assertEquals("java.lang.Long", typeList.get(1)); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_JSONObject.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSONObject; 6 | import com.alibaba.fastjson.serializer.JSONSerializer; 7 | import com.alibaba.fastjson.serializer.SerializerFeature; 8 | 9 | 10 | public class Bug_for_JSONObject extends TestCase { 11 | public void test_0 () throws Exception { 12 | JSONSerializer ser = new JSONSerializer(); 13 | ser.config(SerializerFeature.WriteClassName, true); 14 | ser.write(new JSONObject()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_Jay.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | public class Bug_for_Jay extends TestCase { 8 | 9 | public void test_for_jay() throws Exception { 10 | JSON.toJSONString(new B(), true); 11 | } 12 | 13 | public class A { 14 | 15 | String nameA; 16 | } 17 | 18 | public class B extends A { 19 | String nameB; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_JeryZeng.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | 8 | public class Bug_for_JeryZeng extends TestCase { 9 | public void test_0() throws Exception { 10 | System.out.println(JSON.parseObject("{123:123,124:true,\"value\":{123:\"abc\"}}")); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_O_I_See_you.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | public class Bug_for_O_I_See_you extends TestCase { 8 | 9 | public void test_bug() throws Exception { 10 | Object[] arra = { "aa", "bb" }; 11 | 12 | Object[] arr = { "sssss", arra }; 13 | 14 | String s = JSON.toJSONString(arr); 15 | 16 | Object[] ar = JSON.parseObject(s, Object[].class); 17 | System.out.println(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_akvadrako.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.parser.DefaultJSONParser; 6 | 7 | public class Bug_for_akvadrako extends TestCase { 8 | 9 | public void testNakedFields() throws Exception { 10 | Naked naked = new Naked(); 11 | DefaultJSONParser parser = new DefaultJSONParser("{ \"field\": 3 }"); 12 | parser.parseObject(naked); 13 | } 14 | 15 | public static class Naked { 16 | 17 | public int field; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_alibank.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | 8 | public class Bug_for_alibank extends TestCase { 9 | public void test_bug() throws Exception { 10 | String jsonStrz = "{addContact:[{\"address\":\"=\\\\\\\\\\\'\'\\");|]*{%0d%0a<%00\"}]}"; 11 | System.out.println(jsonStrz); 12 | Object o = JSON.parseObject(jsonStrz.replaceAll("\\\\", "")); 13 | System.out.println(JSON.toJSONString(o)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_divde_zero.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | 5 | import junit.framework.TestCase; 6 | 7 | 8 | public class Bug_for_divde_zero extends TestCase { 9 | public void test_divideZero() throws Exception { 10 | Double d = 1.0D / 0.0D; 11 | String text = JSON.toJSONString(d); 12 | System.out.println(text); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_dubbo_long.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import org.junit.Assert; 4 | import junit.framework.TestCase; 5 | 6 | import com.alibaba.fastjson.JSON; 7 | import com.alibaba.fastjson.serializer.SerializerFeature; 8 | 9 | public class Bug_for_dubbo_long extends TestCase { 10 | 11 | public void test_0() throws Exception { 12 | Long val = 2345L; 13 | 14 | String text = JSON.toJSONString(val, SerializerFeature.WriteClassName); 15 | Assert.assertEquals(val, JSON.parseObject(text, long.class)); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_hmy8.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.json.bvtVO.IEvent; 7 | import com.alibaba.json.bvtVO.IEventDto; 8 | 9 | public class Bug_for_hmy8 extends TestCase { 10 | 11 | public void test_ser() throws Exception { 12 | IEventDto dto = new IEventDto(); 13 | dto.getEventList().add(new IEvent()); 14 | 15 | JSON.toJSONString(dto); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_huangchun.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONObject; 7 | 8 | 9 | public class Bug_for_huangchun extends TestCase { 10 | public void test_serialize_url() throws Exception { 11 | JSONObject json = new JSONObject(); 12 | json.put("info", " 问题链接 "); 13 | String text = JSON.toJSONString(json); 14 | System.out.println(text); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_issue_262.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSONPath; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class Bug_for_issue_262 extends TestCase { 10 | 11 | public void test_for_issue() throws Exception { 12 | String json = "{\"$\":\"zhugw\"}"; 13 | Assert.assertEquals("zhugw", JSONPath.read(json, "/\\$")); 14 | } 15 | 16 | 17 | public static class Model { 18 | public String name; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_issue_273.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | 5 | import junit.framework.TestCase; 6 | 7 | public class Bug_for_issue_273 extends TestCase { 8 | public void test_for_issue() throws Exception { 9 | JSON.parseObject("{\"value\":\"\0x16\0x26\"}"); 10 | } 11 | 12 | public static class VO { 13 | public String value; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_issue_434.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSONArray; 6 | import com.alibaba.fastjson.JSONObject; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class Bug_for_issue_434 extends TestCase { 11 | 12 | public void test_for_issue() throws Exception { 13 | String json = "{value:[\"null\"]}"; 14 | JSONObject parse = JSONObject.parseObject(json); 15 | JSONArray jsonArray = parse.getJSONArray("value"); 16 | Assert.assertEquals(1, jsonArray.size()); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_issue_439.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | 5 | import junit.framework.TestCase; 6 | 7 | public class Bug_for_issue_439 extends TestCase { 8 | public void test_for_issue() throws Exception { 9 | JSON.parseObject("{/*aa*/}"); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_issue_492.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSONPath; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class Bug_for_issue_492 extends TestCase { 10 | 11 | public void test_for_issue() throws Exception { 12 | String json = "{\"name\":\"zhugw\"}"; 13 | Assert.assertEquals("zhugw", JSONPath.read(json, "/name")); 14 | } 15 | 16 | 17 | public static class Model { 18 | public String name; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_issue_545.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | 5 | import junit.framework.TestCase; 6 | 7 | public class Bug_for_issue_545 extends TestCase { 8 | 9 | public void test_for_issue() throws Exception { 10 | JSON.parse("\ufeff{}"); 11 | } 12 | 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_issue_676.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import org.junit.Assert; 6 | 7 | import com.alibaba.fastjson.JSON; 8 | import com.alibaba.fastjson.util.ASMUtils; 9 | 10 | 11 | public class Bug_for_issue_676 extends TestCase { 12 | public void test_for_issue() throws Exception { 13 | JSON.parseObject("{\"modelType\":\"\"}", MenuExpend.class); 14 | } 15 | 16 | public static class MenuExpend { 17 | public ModelType modelType; 18 | } 19 | 20 | public static enum ModelType { 21 | A, B, C 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_jiangwei.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | 5 | import junit.framework.TestCase; 6 | 7 | 8 | public class Bug_for_jiangwei extends TestCase { 9 | public void test_0 () throws Exception { 10 | String text = "['42-0','超級聯隊\\x28中\\x29','辛當斯','1.418',10,'11/18/2012 02:15',1,0,1,0,'',0,0,0,0]"; 11 | JSON.parse(text); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_juewu.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | 8 | public class Bug_for_juewu extends TestCase { 9 | public void test_str() throws Exception { 10 | String text = "{\"weitao_feed\":{\"head\":{\"Version\":\"V1.0\",\"Status\":\"OK\",\"SearchTime\":1488,\"DocsReturn\":18,\"DocsFound\":20,\"DocsRestrict\":20,\"DocsSearch\":0},\"auctions\":[{\"id\":\"110009362197\",\"creator_id\":\"673515636\",\"gmt_create_ms\":\"1385540374000\"}]}}"; 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_lenolix_3.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import java.util.Map; 4 | 5 | import junit.framework.TestCase; 6 | 7 | import com.alibaba.fastjson.JSONObject; 8 | import com.alibaba.fastjson.TypeReference; 9 | 10 | public class Bug_for_lenolix_3 extends TestCase { 11 | 12 | public void test_0() throws Exception { 13 | 14 | System.out.println("{}"); 15 | 16 | JSONObject.parseObject("{\"id\":{}}", new TypeReference>>() { 17 | }); 18 | } 19 | 20 | public static class User { 21 | 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_sankun.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.json.bvtVO.PushMsg; 7 | 8 | 9 | public class Bug_for_sankun extends TestCase { 10 | public void test_sankun() throws Exception { 11 | PushMsg bean = new PushMsg(); 12 | JSON.toJSONString(bean); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_set.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | 5 | import junit.framework.TestCase; 6 | 7 | 8 | public class Bug_for_set extends TestCase { 9 | public void test_set() throws Exception { 10 | JSON.parseArray("Set[]"); 11 | } 12 | 13 | public void test_treeset() throws Exception { 14 | JSON.parseArray("TreeSet[]"); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_typeReference.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import java.util.List; 4 | 5 | import junit.framework.TestCase; 6 | 7 | import com.alibaba.fastjson.JSON; 8 | import com.alibaba.fastjson.TypeReference; 9 | 10 | 11 | public class Bug_for_typeReference extends TestCase { 12 | public void test_0 () throws Exception { 13 | String text = "[]"; 14 | JSON.parseObject(text, new TypeReference>(){}.getType()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_vikingschow.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.json.bvtVO.OfferRankResultVO; 7 | 8 | public class Bug_for_vikingschow extends TestCase { 9 | public void test_for_vikingschow() throws Exception { 10 | OfferRankResultVO vo = new OfferRankResultVO(); 11 | String text = JSON.toJSONString(vo); 12 | JSON.parseObject(text, OfferRankResultVO.class); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_wsky.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.serializer.SerializerFeature; 7 | 8 | public class Bug_for_wsky extends TestCase { 9 | 10 | public void test_writeMapNull() throws Exception { 11 | JSON.parseObject(JSON.toJSONString(new MethodReturn(), SerializerFeature.WriteMapNullValue), MethodReturn.class); 12 | } 13 | 14 | public static class MethodReturn { 15 | 16 | public Object ReturnValue; 17 | public Throwable Exception; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_yaoming_1.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.json.bvtVO.AccessHttpConfigModel; 7 | 8 | 9 | public class Bug_for_yaoming_1 extends TestCase { 10 | public void test_0 () throws Exception { 11 | JSON.parseObject("{}", AccessHttpConfigModel.class); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Bug_for_zengjie.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | 8 | public class Bug_for_zengjie extends TestCase { 9 | public void test_0 () throws Exception { 10 | JSON.parse("{123:'abc','value':{123:'abc'}}"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue1074.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 16/03/2017. 8 | */ 9 | public class Issue1074 extends TestCase { 10 | public void test_for_issue() throws Exception { 11 | String json = "//123456"; 12 | Throwable error = null; 13 | try { 14 | JSON.parse(json); 15 | } catch (Exception ex) { 16 | error = ex; 17 | } 18 | assertNotNull(error); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue1075.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 16/03/2017. 8 | */ 9 | public class Issue1075 extends TestCase { 10 | public void test_for_issue() throws Exception { 11 | String json = "{ \"question\": \"1+1=?\\u1505a\"}"; 12 | JSON.parseObject(json); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue109.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import org.junit.Assert; 6 | 7 | import com.alibaba.fastjson.util.ASMUtils; 8 | 9 | 10 | public class Issue109 extends TestCase { 11 | public void test_for_issue() throws Exception { 12 | Assert.assertFalse(ASMUtils.isAndroid(null)); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue118.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | 8 | public class Issue118 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | String json = JSON.toJSONString("\0"); 11 | assertEquals("\"\\u0000\"", json); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue125.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONObject; 7 | 8 | public class Issue125 extends TestCase { 9 | 10 | public void test_for_issue() throws Exception { 11 | String content = "{\"data\":\"sfasfasdfasdfas\\r" + String.valueOf((char) 160) + "\\rasdfasdfasd\"}"; 12 | JSONObject jsonObject = JSON.parseObject(content); 13 | System.out.println(jsonObject); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue126.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSONObject; 6 | 7 | public class Issue126 extends TestCase { 8 | 9 | public void test_for_issue() throws Exception { 10 | JSONObject j = new JSONObject(); 11 | j.put("content", 12 | "爸爸去哪儿-第十期-萌娃比赛小猪快跑 爸爸上演\"百变大咖秀\"-【湖南卫视官方版1080P】20131213: http://youtu.be/ajvaXKAduJ4 via @youtube"); 13 | System.out.println(j.toJSONString()); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue127.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | 5 | import junit.framework.TestCase; 6 | 7 | public class Issue127 extends TestCase { 8 | 9 | public void test_for_issue_127() throws Exception { 10 | String text = "{_BillId:\"X20140106S0110\",_Status:1,_PayStatus:0,_RunEmpId:undefined}"; 11 | JSON.parseObject(text); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue1296.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONException; 5 | import junit.framework.TestCase; 6 | 7 | /** 8 | * Created by wenshao on 02/07/2017. 9 | */ 10 | public class Issue1296 extends TestCase { 11 | public void test_for_issue() throws Exception { 12 | Exception error = null; 13 | try { 14 | JSON.parseObject("1"); 15 | } catch (JSONException e) { 16 | error = e; 17 | } 18 | assertNotNull(error); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue141.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import org.junit.Assert; 6 | 7 | import com.alibaba.fastjson.util.TypeUtils; 8 | 9 | 10 | public class Issue141 extends TestCase { 11 | public void test_for_issue() throws Exception { 12 | Assert.assertFalse(TypeUtils.castToBoolean("0").booleanValue()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue153.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import java.util.HashMap; 4 | 5 | import junit.framework.TestCase; 6 | 7 | import com.alibaba.fastjson.JSON; 8 | import com.alibaba.fastjson.TypeReference; 9 | 10 | 11 | public class Issue153 extends TestCase { 12 | public void test_for_issue() throws Exception { 13 | String text = "[{\"url_short\":\"http://t.cn/8soWK4z\",\"url_long\":\"http://wenshao.com\",\"type\":0}]"; 14 | 15 | JSON.parseObject(text, new TypeReference[]>(){}); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue157.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSONObject; 6 | 7 | 8 | public class Issue157 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | String m = "2、95开头靓号,呼出显号,对方可以打回,即使不在线亦可设置呼转手机,不错过任何重要电话,不暴露真实身份。\r\n3、应用内完全免费发送文字消息、语音对讲。\r\n4、建议WIFI 或 3G 环境下使用以获得最佳通话体验"; 11 | JSONObject json = new JSONObject(); 12 | json.put("介绍", m); 13 | String content = json.toJSONString(); 14 | System.out.println(content); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue171.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | import junit.framework.TestCase; 7 | 8 | import com.alibaba.fastjson.JSON; 9 | 10 | public class Issue171 extends TestCase { 11 | 12 | public void test_for_issue() throws Exception { 13 | Map m = new HashMap(); 14 | m.put("a", "\u000B"); 15 | String json = JSON.toJSONString(m); 16 | System.out.println(json); 17 | JSON.parse(json); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue190.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import org.junit.Assert; 6 | 7 | import com.alibaba.fastjson.JSON; 8 | 9 | public class Issue190 extends TestCase { 10 | 11 | public void test_for_issue() throws Exception { 12 | Assert.assertEquals(WebSoscketCommand.A, JSON.parseObject("\"A\"", WebSoscketCommand.class)); 13 | } 14 | 15 | public static enum WebSoscketCommand { 16 | A, B, C 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue784.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 16/8/24. 8 | */ 9 | public class Issue784 extends TestCase { 10 | public void test_for_issue() throws Exception { 11 | JSON.parse("[{\"args\":[\"150\",\"change\",{\"timeStamp\":1471595047319,\"value\":\"\"},{\"attrs\":{\"value\":\"\"}}],\"method\":\"fireEvent\"}]"); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue793.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | import junit.framework.TestCase; 6 | 7 | /** 8 | * Created by wenshao on 16/8/27. 9 | */ 10 | public class Issue793 extends TestCase { 11 | public void test_for_issue() throws Exception { 12 | String text = "{ \"code\": 1000, \"data\": \"success\", \"game_data\": [], \"member_list\": [], \"message\": \"\\u6210\\u529f\" }"; 13 | JSONObject json = JSON.parseObject(text); 14 | assertEquals(1000, json.get("code")); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue799.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSONPath; 4 | import junit.framework.TestCase; 5 | 6 | import java.util.HashMap; 7 | import java.util.Map; 8 | 9 | /** 10 | * Created by wenshao on 16/8/30. 11 | */ 12 | public class Issue799 extends TestCase { 13 | public void test_for_issue() throws Exception { 14 | String path = "$.array[0:-1].bizData"; 15 | 16 | Map root = new HashMap(); 17 | Object val = JSONPath.eval(root, path); 18 | assertNull(val); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue89.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import org.junit.Assert; 4 | 5 | import junit.framework.TestCase; 6 | 7 | import com.alibaba.fastjson.JSON; 8 | 9 | public class Issue89 extends TestCase { 10 | 11 | public void test_for_issue() throws Exception { 12 | Exception error = null; 13 | try { 14 | JSON.parse("{\"a\":з」∠)_,\"}"); 15 | } catch (Exception ex) { 16 | error = ex; 17 | } 18 | Assert.assertNotNull(error); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue900.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.parser.Feature; 5 | import junit.framework.TestCase; 6 | 7 | /** 8 | * Created by wenshao on 2016/11/17. 9 | */ 10 | public class Issue900 extends TestCase { 11 | public void test_for_issue() throws Exception { 12 | Model model = JSON.parseObject("{\"id\":123}", Model.class, Feature.SupportNonPublicField); 13 | assertEquals(123, model.id); 14 | } 15 | 16 | public static class Model { 17 | private int id; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue94.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSONObject; 6 | 7 | 8 | public class Issue94 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | JSONObject o = new JSONObject(); 11 | o.put("line", "{\"1\":\u0080}"); 12 | o.toString(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue975.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | /** 4 | * Created by wenshao on 11/01/2017. 5 | */ 6 | public class Issue975 { 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue983.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.util.AbstractMap; 7 | import java.util.Map; 8 | 9 | /** 10 | * Created by wenshao on 10/01/2017. 11 | */ 12 | public class Issue983 extends TestCase { 13 | public void test_for_issue() throws Exception { 14 | Map.Entry entry = JSON.parseObject("{\"name\":\"foo\"}", Map.Entry.class); 15 | assertEquals("name", entry.getKey()); 16 | assertEquals("foo", entry.getValue()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue987.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.util.Date; 7 | 8 | /** 9 | * Created by wenshao on 11/01/2017. 10 | */ 11 | public class Issue987 extends TestCase { 12 | public void test_for_issue() throws Exception { 13 | String text = "{\"date\":\"2016-11-09T09:57:20.4Z\"}"; 14 | JSON.parseObject(text, Model.class); 15 | } 16 | 17 | public static class Model { 18 | public Date date; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue995.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import com.alibaba.fastjson.JSONPath; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 15/01/2017. 8 | */ 9 | public class Issue995 extends TestCase { 10 | public void test_for_issue() throws Exception { 11 | Person person = new Person(); 12 | 13 | JSONPath.set(person, "$.nose.name", "xxx"); 14 | } 15 | 16 | public static class Person { 17 | public Nose nose; 18 | } 19 | 20 | public static class Nose { 21 | public String name; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/Issue_611.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONObject; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class Issue_611 extends TestCase { 11 | public void test_for_issue() throws Exception { 12 | String text = "{\"priority\":1}"; 13 | JSONObject obj = JSON.parseObject(text); 14 | Assert.assertEquals(1, obj.getInteger("priority").intValue()); 15 | Assert.assertEquals(1, obj.getIntValue("priority")); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/bug/StackTraceElementTest2.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.bug; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | 8 | public class StackTraceElementTest2 extends TestCase { 9 | public void test_stackTrace2() throws Exception { 10 | String text = "{\"@type\":\"java.lang.StackTraceElement\",\"className\":\"java.lang.Thread\",\"fileName\":\"Thread.java\",\"lineNumber\":1503,\"methodName\":\"getStackTrace\",\"nativeMethod\":false}"; 11 | JSON.parseObject(text, StackTraceElement.class); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/comparing_json_modules/Invalid_Test.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.comparing_json_modules; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 25/03/2017. 8 | */ 9 | public class Invalid_Test extends TestCase { 10 | public void test_6_1() throws Exception { 11 | assertEquals(0, JSON.parse("+0")); 12 | } 13 | 14 | // public void test_6_5() throws Exception { 15 | // assertEquals(28, JSON.parse("034")); 16 | // } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/compatible/ThreadLocalCacheTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.compatible; 2 | 3 | import com.alibaba.fastjson.util.ThreadLocalCache; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 29/01/2017. 8 | */ 9 | public class ThreadLocalCacheTest extends TestCase{ 10 | public void test_threadCache() throws Exception { 11 | ThreadLocalCache.getBytes(10); 12 | ThreadLocalCache.clearBytes(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/date/DateNewTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.date; 2 | 3 | import java.util.Date; 4 | 5 | import org.junit.Assert; 6 | 7 | import com.alibaba.fastjson.JSON; 8 | 9 | import junit.framework.TestCase; 10 | 11 | public class DateNewTest extends TestCase { 12 | public void test_date() throws Exception { 13 | Assert.assertEquals(1324138987429L, ((Date) JSON.parse("new Date(1324138987429)")).getTime()); 14 | Assert.assertEquals(1324138987429L, ((Date) JSON.parse("new \n\t\r\f\bDate(1324138987429)")).getTime()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/feature/FeatureTest_8.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.feature; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.parser.Feature; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class FeatureTest_8 extends TestCase { 11 | public void test_get_obj() throws Exception { 12 | VO value = JSON.parseObject("{}", VO.class, Feature.InitStringFieldAsEmpty); 13 | Assert.assertEquals("", value.id); 14 | } 15 | 16 | private static class VO { 17 | public String id; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/fullSer/EmtpyLinkedHashMapTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.fullSer; 2 | 3 | import java.util.Map; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class EmtpyLinkedHashMapTest extends TestCase { 10 | public void test_0() throws Exception { 11 | Map map = (Map) JSON.parseObject("{\"@type\":\"java.util.LinkedHashMap\"}", Object.class); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/guava/ImmutableMapTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.guava; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.google.common.collect.ImmutableMap; 5 | import junit.framework.TestCase; 6 | 7 | import java.util.Map; 8 | 9 | /** 10 | * Created by wenshao on 15/01/2017. 11 | */ 12 | public class ImmutableMapTest extends TestCase { 13 | public void test_immutableMap() throws Exception { 14 | Map map = ImmutableMap.of("a", 1, "b", 2, "c", 3); 15 | String json = JSON.toJSONString(map); 16 | assertEquals("{\"a\":1,\"b\":2,\"c\":3}", json); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1000/Issue1086.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1000; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 20/03/2017. 8 | */ 9 | public class Issue1086 extends TestCase { 10 | public void test_for_issue() throws Exception { 11 | Model model = JSON.parseObject("{\"flag\":1}", Model.class); 12 | assertTrue(model.flag); 13 | } 14 | 15 | public static class Model { 16 | public boolean flag; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1100/Issue1109.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1100; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | import org.apache.commons.lang3.tuple.Pair; 6 | 7 | /** 8 | * Created by wenshao on 28/03/2017. 9 | */ 10 | public class Issue1109 extends TestCase { 11 | public void test_for_issue() throws Exception { 12 | Pair data = Pair.of("key", "\"the\"content"); 13 | assertEquals("{\"key\":\"\\\"the\\\"content\"}", JSON.toJSONString(data)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1100/Issue1140.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1100; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.io.ByteArrayOutputStream; 7 | 8 | /** 9 | * Created by wenshao on 11/04/2017. 10 | */ 11 | public class Issue1140 extends TestCase { 12 | public void test_for_issue() throws Exception { 13 | String s = "\uD83C\uDDEB\uD83C\uDDF7"; 14 | 15 | ByteArrayOutputStream out = new ByteArrayOutputStream(); 16 | 17 | JSON.writeJSONString(out, s); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1100/Issue1165.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1100; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 27/04/2017. 8 | */ 9 | public class Issue1165 extends TestCase { 10 | public void test_for_issue() throws Exception { 11 | Model model = new Model(); 12 | model.__v = 3; 13 | 14 | String json = JSON.toJSONString(model); 15 | assertEquals("{\"__v\":3}", json); 16 | } 17 | 18 | public static class Model { 19 | public Number __v; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1300/Issue1375.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1300; 2 | 3 | import com.alibaba.fastjson.serializer.CollectionCodec; 4 | import com.alibaba.fastjson.serializer.SerializeConfig; 5 | import junit.framework.TestCase; 6 | 7 | import java.util.LinkedList; 8 | 9 | /** 10 | * Created by wenshao on 06/08/2017. 11 | */ 12 | public class Issue1375 extends TestCase { 13 | public void test_issue() throws Exception { 14 | assertSame(CollectionCodec.instance 15 | , SerializeConfig.getGlobalInstance() 16 | .getObjectWriter(LinkedList.class)); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1400/Issue1443.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1400; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.util.Date; 7 | 8 | public class Issue1443 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | String json = "{\"date\":\"3017-08-28T00:00:00+08:00\"}"; 11 | Model model = JSON.parseObject(json, Model.class); 12 | 13 | } 14 | 15 | public static class Model { 16 | public Date date; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1400/Issue1450.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1400; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.time.LocalDateTime; 7 | 8 | public class Issue1450 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | LocalDateTime localDateTime = LocalDateTime.of(2018, 8, 31, 15, 26, 37, 1); 11 | String json = JSON.toJSONStringWithDateFormat(localDateTime, "yyyy-MM-dd HH:mm:ss");//2018-08-31T15:26:37.000000001 12 | assertEquals("\"2018-08-31 15:26:37\"", json); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1400/Issue1472.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1400; 2 | 3 | public class Issue1472 { 4 | } 5 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1400/Issue1482.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1400; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.util.Date; 7 | 8 | public class Issue1482 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | JSON.parseObject("{\"date\":\"2017-06-28T07:20:05.000+05:30\"}", Model.class); 11 | } 12 | 13 | public static class Model { 14 | public Date date; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1500/StringSerializer.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1500; 2 | 3 | import com.alibaba.fastjson.serializer.JSONSerializer; 4 | import com.alibaba.fastjson.serializer.ObjectSerializer; 5 | 6 | import java.io.IOException; 7 | import java.lang.reflect.Type; 8 | 9 | public class StringSerializer implements ObjectSerializer { 10 | 11 | public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException { 12 | serializer.write(String.valueOf(object)); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1600/Issue1644.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1600; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | import junit.framework.TestCase; 5 | 6 | import java.sql.Time; 7 | 8 | public class Issue1644 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | JSONObject jsonObject = new JSONObject(); 11 | jsonObject.put("time", 1324138987429L); 12 | 13 | Time time = jsonObject.getObject("time", java.sql.Time.class); 14 | assertEquals(1324138987429L, time.getTime()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1600/Issue1657.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1600; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.util.HashMap; 7 | 8 | public class Issue1657 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | HashMap map = JSON.parseObject("\"\"", HashMap.class); 11 | assertEquals(0, map.size()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1600/issue_1699/def/FeeTypeMEnum.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1600.issue_1699.def; 2 | 3 | public enum FeeTypeMEnum { 4 | TRADE, 5 | REFUND; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1600/issue_1699/def/RatingDetailIsJoinMEnum.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1600.issue_1699.def; 2 | 3 | import java.util.ArrayList; 4 | import java.util.LinkedHashMap; 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | public enum RatingDetailIsJoinMEnum { 9 | 10 | FALSE, 11 | TRUE; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1600/issue_1699/def/RatingDetailStatusMEnum.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1600.issue_1699.def; 2 | 3 | public enum RatingDetailStatusMEnum { 4 | 5 | INIT, 6 | SUCCESS, 7 | FAIL, 8 | WAIT; 9 | 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1700/Issue1761.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1700; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue1761 extends TestCase { 7 | public void test_for_issue() throws Exception { 8 | JSONObject jsonObject = new JSONObject(); 9 | jsonObject.put("null",""); 10 | double d = jsonObject.getDoubleValue("null"); 11 | assertEquals(d, 0.0D); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1700/Issue1785.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1700; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue1785 extends TestCase { 7 | public void test_for_issue() throws Exception { 8 | JSON.parseObject("\"2006-8-9\"", java.sql.Timestamp.class); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_1900/Issue1944.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_1900; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue1944 extends TestCase { 7 | public void test_for_issue() throws Exception { 8 | assertEquals(90.82195113f, JSON.parseObject("{\"value\":90.82195113}", Model.class).value); 9 | } 10 | 11 | public static class Model { 12 | public float value; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2000/Issue2074.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2000; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | import com.alibaba.fastjson.serializer.SerializerFeature; 5 | import junit.framework.TestCase; 6 | 7 | public class Issue2074 extends TestCase { 8 | public void test_for_issue() throws Exception { 9 | JSONObject object = new JSONObject(); 10 | object.put("name", null); 11 | 12 | assertEquals("{\"name\":null}" 13 | , object.toString(SerializerFeature.WriteMapNullValue)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2000/Issue2086.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2000; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue2086 extends TestCase { 7 | public void test_for_issue() throws Exception { 8 | JSON.parseObject("{\"id\":123}", Model.class); 9 | JSON.toJSONString(new Model()); 10 | } 11 | 12 | public static class Model { 13 | public void set() { 14 | 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2100/Issue2129.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2100; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.google.common.collect.LinkedHashMultimap; 5 | import junit.framework.TestCase; 6 | 7 | public class Issue2129 extends TestCase { 8 | public void test_for_issue() throws Exception { 9 | LinkedHashMultimap map = LinkedHashMultimap.create(); 10 | map.put("a", "1"); 11 | map.put("a", "b"); 12 | map.put("b", "1"); 13 | String json = JSON.toJSONString(map); 14 | assertEquals("{\"a\":[\"1\",\"b\"],\"b\":[\"1\"]}", json); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2100/Issue2130.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2100; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | import junit.framework.TestCase; 6 | 7 | public class Issue2130 extends TestCase { 8 | public void test_for_issue() throws Exception { 9 | String str = "{\"score\":0.000099369485}"; 10 | JSONObject object = JSON.parseObject(str); 11 | assertEquals("{\"score\":0.000099369485}", object.toJSONString()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2100/Issue2150.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2100; 2 | 3 | import com.alibaba.fastjson.JSONArray; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue2150 extends TestCase { 7 | public void test_for_issue() throws Exception { 8 | int [][][] arr = new int[100][100][100]; 9 | JSONArray jsonObj = (JSONArray) JSONArray.toJSON(arr); 10 | assertNotNull(jsonObj); 11 | assertNotNull(jsonObj.getJSONArray(0)); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/Issue2206.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.time.LocalDateTime; 7 | 8 | public class Issue2206 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | JSON.parseObject("{\"date\":\"20181229162849\"}", Model.class); 11 | } 12 | 13 | public static class Model { 14 | public LocalDateTime date; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/Issue2234.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.util.List; 7 | 8 | public class Issue2234 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | String userStr = "{\"name\":\"asdfad\",\"ss\":\"\"}"; 11 | User user = JSON.parseObject(userStr, User.class); 12 | } 13 | 14 | public static class User { 15 | public String name; 16 | public List ss; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/Issue2244.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.util.Date; 7 | 8 | public class Issue2244 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | String str = "\"2019-01-14T06:32:09.029Z\""; 11 | JSON.parseObject(str, Date.class); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/Issue_for_luohaoyu.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | import junit.framework.TestCase; 6 | 7 | import java.util.HashMap; 8 | import java.util.Map; 9 | 10 | public class Issue_for_luohaoyu extends TestCase { 11 | public void test_for_issue() throws Exception { 12 | Map map = new HashMap(); 13 | map.put(null, 123); 14 | 15 | String str = JSON.toJSONString(map); 16 | assertEquals("{null:123}", str); 17 | 18 | JSONObject object = JSON.parseObject(str); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224/CollectionEx.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224; 2 | 3 | import java.util.Collection; 4 | 5 | interface CollectionEx extends Collection { 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224/Person.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224; 2 | 3 | public class Person { 4 | private String idNo; 5 | private String name; 6 | 7 | public String getIdNo() { 8 | return this.idNo; 9 | } 10 | 11 | public void setIdNo(String idNo) { 12 | this.idNo = idNo; 13 | } 14 | 15 | public String getName() { 16 | return this.name; 17 | } 18 | 19 | public void setName(String name) { 20 | this.name = name; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224/PersonCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224; 2 | 3 | public class PersonCollection extends KeyedCollection { 4 | protected String getKeyForItem(Person person) { 5 | return person.getIdNo(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_2/GroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_2; 2 | 3 | import com.alibaba.json.bvt.issue_2200.issue2224.KeyedCollection; 4 | 5 | import java.util.List; 6 | 7 | abstract class GroupedCollection extends KeyedCollection> { 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_2/PersonGroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_2; 2 | 3 | import com.alibaba.json.bvt.issue_2200.issue2224.Person; 4 | 5 | import java.util.List; 6 | 7 | public class PersonGroupedCollection extends StringGroupedCollection { 8 | @Override 9 | protected String getKeyForItem(List list) { 10 | if (list == null || list.isEmpty()) 11 | return null; 12 | return list.get(0).getName(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_2/StringGroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_2; 2 | 3 | abstract class StringGroupedCollection extends GroupedCollection { 4 | } 5 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_3/ArrayGroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_3; 2 | 3 | import com.alibaba.json.bvt.issue_2200.issue2224.KeyedCollection; 4 | 5 | abstract class ArrayGroupedCollection extends KeyedCollection { 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_3/ArrayPersonGroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_3; 2 | 3 | import com.alibaba.json.bvt.issue_2200.issue2224.Person; 4 | 5 | public class ArrayPersonGroupedCollection extends ArrayStringGroupedCollection { 6 | @Override 7 | protected String getKeyForItem(Person[] array) { 8 | if (array == null || array.length == 0) 9 | return null; 10 | return array[0].getName(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_3/ArrayStringGroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_3; 2 | 3 | abstract class ArrayStringGroupedCollection extends ArrayGroupedCollection { 4 | } 5 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_4/MAGroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_4; 2 | 3 | import com.alibaba.json.bvt.issue_2200.issue2224.KeyedCollection; 4 | 5 | abstract class MAGroupedCollection extends KeyedCollection { 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_4/MAPersonGroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_4; 2 | 3 | import java.util.Map; 4 | 5 | public class MAPersonGroupedCollection extends MAStringGroupedCollection> { 6 | @Override 7 | protected String getKeyForItem(Map[] array) { 8 | if (array == null || array.length == 0) 9 | return null; 10 | Object name = array[0].get("name"); 11 | return name == null ? null : name.toString(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_4/MAStringGroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_4; 2 | 3 | abstract class MAStringGroupedCollection extends MAGroupedCollection { 4 | } 5 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_5/MA2GroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_5; 2 | 3 | import com.alibaba.json.bvt.issue_2200.issue2224.KeyedCollection; 4 | 5 | abstract class MA2GroupedCollection extends KeyedCollection { 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_5/MA2PersonGroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_5; 2 | 3 | import java.util.Map; 4 | 5 | public class MA2PersonGroupedCollection extends MA2StringGroupedCollection { 6 | @Override 7 | protected String getKeyForItem(Map[] array) { 8 | if (array == null || array.length == 0) 9 | return null; 10 | final String[] names = array[0].get("name"); 11 | return names == null || names.length == 0 ? null : names[0]; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2200/issue2224_5/MA2StringGroupedCollection.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2200.issue2224_5; 2 | 3 | import java.util.Map; 4 | 5 | abstract class MA2StringGroupedCollection extends MA2GroupedCollection> { 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2300/Issue2306.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2300; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | import com.alibaba.fastjson.JSONPath; 5 | import junit.framework.TestCase; 6 | 7 | public class Issue2306 extends TestCase { 8 | public void test_for_issue() throws Exception { 9 | JSONObject object = new JSONObject(); 10 | object.put("help_score_avg.cbm", 123); 11 | 12 | assertEquals(123 13 | , JSONPath.extract( 14 | object.toJSONString(), "['help_score_avg.cbm']")); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2300/Issue2341.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2300; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | import junit.framework.TestCase; 6 | 7 | public class Issue2341 extends TestCase { 8 | public void test_for_issue() throws Exception { 9 | String ss = "{\"@type\":\"1234\"}"; 10 | JSONObject object = JSON.parseObject(ss); 11 | assertEquals("1234", object.get("@type")); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2300/Issue2344.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2300; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.serializer.SerializerFeature; 5 | import com.alibaba.json.bvtVO.basic.LongPrimitiveEntity; 6 | import junit.framework.TestCase; 7 | 8 | public class Issue2344 extends TestCase { 9 | public void test_for_issue() throws Exception { 10 | LongPrimitiveEntity vo = new LongPrimitiveEntity(9007199254741992L); 11 | 12 | assertEquals("{\"value\":\"9007199254741992\"}" 13 | , JSON.toJSONString(vo, SerializerFeature.BrowserCompatible)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2400/Issue2429.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2400; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue2429 extends TestCase { 7 | public void testForIssue() { 8 | String str = "{\"schema\":{$ref:\"111\"},\"name\":\"ft\",\"age\":12,\"address\":\"杭州\"}"; 9 | JSON.parseObject(str); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2700/Issue2736.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2700; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue2736 extends TestCase { 7 | public void test_for_issue() throws Exception { 8 | JSONObject s = JSONObject.parseObject("{1:2,3:4}"); 9 | for(String s1 : s.keySet()){ 10 | System.out.println(s1); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2700/Issue2787.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2700; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.serializer.SerializerFeature; 5 | import junit.framework.TestCase; 6 | 7 | public class Issue2787 extends TestCase { 8 | public void test_for_issue() throws Exception { 9 | Model m = new Model(); 10 | String str = JSON.toJSONString(m, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullListAsEmpty); 11 | assertEquals("{\"value\":[]}", str); 12 | } 13 | 14 | public static class Model { 15 | public int[] value; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_2800/Issue2830.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_2800; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | 5 | import junit.framework.TestCase; 6 | 7 | public class Issue2830 extends TestCase { 8 | public void test_for_issue() throws Exception { 9 | JSONObject jsonObject = JSONObject.parseObject("{\"qty\":\"10\",\"qty1\":\"10.0\",\"qty2\":\"10.000\"}"); 10 | 11 | assertEquals(10, jsonObject.getIntValue("qty")); 12 | assertEquals(10, jsonObject.getIntValue("qty1")); 13 | assertEquals(10, jsonObject.getIntValue("qty2")); 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_3000/Issue3057.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_3000; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue3057 extends TestCase { 7 | public void test_for_issue() throws Exception { 8 | String str = "{\"q\":[]}"; 9 | Bean bean = JSON.parseObject(str, Bean.class); 10 | assertEquals(0, bean.q.size()); 11 | } 12 | 13 | public static class Bean { 14 | public java.util.Deque q; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_3000/Issue3083.kt: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_3000 2 | 3 | import com.alibaba.fastjson.JSON 4 | 5 | class TestBean { 6 | var is_subscribe = 0 7 | var subscribe = 0 8 | var isHave = 0 9 | var _have = 0 10 | var normal = 0 11 | var Abnormal = 0 12 | } 13 | 14 | fun main(args: Array) { 15 | val s = "{'is_subscribe':1,'subscribe':2,'isHave':3, '_have':4, 'normal':5, 'Abnormal':6}" 16 | val b = JSON.parseObject(s, TestBean::class.java) 17 | println("${b.is_subscribe}--${b.subscribe}--${b.isHave}--${b._have}--${b.normal}--${b.Abnormal}") 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_3100/Issue3109.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_3100; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.parser.ParserConfig; 5 | import junit.framework.TestCase; 6 | 7 | public class Issue3109 extends TestCase { 8 | public void test_for_issue() throws Exception { 9 | ParserConfig config = new ParserConfig(); 10 | config.addAccept("test"); 11 | JSON.parseObject("{\"@type\":\"testxx\",\"dogName\":\"dog1001\"}", Dog.class, config); 12 | } 13 | 14 | public static class Dog { 15 | public String dogName; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_3100/Issue3132.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_3100; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | import com.alibaba.json.bvtVO.一个中文名字的包.User; 5 | import junit.framework.TestCase; 6 | 7 | public class Issue3132 extends TestCase { 8 | 9 | public void test_for_issue() throws Exception { 10 | User user = new User(); 11 | user.setId(9); 12 | user.setName("asdffsf"); 13 | System.out.println(JSONObject.toJSONString(user)); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_3200/Issue3245.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_3200; 2 | 3 | import com.alibaba.fastjson.JSONValidator; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue3245 extends TestCase { 7 | public void test_for_issue() throws Exception { 8 | JSONValidator v = JSONValidator.from("[]"); 9 | v.validate(); 10 | assertEquals(JSONValidator.Type.Array, v.getType()); 11 | } 12 | 13 | public void test_for_issue_1() throws Exception { 14 | assertEquals(JSONValidator.Type.Array, JSONValidator.from("[]").getType()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_3200/Issue3267.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_3200; 2 | 3 | import com.alibaba.fastjson.JSONValidator; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue3267 extends TestCase { 7 | public void test_for_issue() throws Exception { 8 | JSONValidator v = JSONValidator.from("113{}[]"); 9 | v.setSupportMultiValue(false); 10 | assertFalse( 11 | v.validate()); 12 | 13 | assertEquals(JSONValidator.Type.Value, v.getType()); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_3200/Issue3282.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_3200; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue3282 extends TestCase { 7 | public void test_for_issue() { 8 | Demo demo = JSON.parseObject("{'date':'2020-01-01 00:00:00 000'}", Demo.class); 9 | assertNotNull(demo.date); 10 | } 11 | 12 | public static class Demo { 13 | public java.util.Date date; 14 | } 15 | } -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_3300/Issue3326.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_3300; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.TypeReference; 5 | import junit.framework.TestCase; 6 | 7 | import java.util.HashMap; 8 | 9 | public class Issue3326 extends TestCase { 10 | public void test_for_issue() throws Exception { 11 | HashMap map = JSON.parseObject("{\"id\":10.0}" 12 | , new TypeReference>() { 13 | }.getType() 14 | , 0); 15 | assertEquals(10.0, map.get("id")); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_3500/Issue3516.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_3500; 2 | 3 | import com.alibaba.fastjson.JSONValidator; 4 | import junit.framework.TestCase; 5 | 6 | public class Issue3516 extends TestCase { 7 | public void test_for_issue() throws Exception { 8 | JSONValidator validator = JSONValidator.from("{}"); 9 | assertEquals(JSONValidator.Type.Object, validator.getType()); 10 | assertTrue(validator.validate()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_3500/Issue3579.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_3500; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.serializer.SerializerFeature; 5 | import junit.framework.TestCase; 6 | 7 | import java.math.BigDecimal; 8 | 9 | public class Issue3579 extends TestCase { 10 | public void test_for_issue() throws Exception { 11 | assertEquals("1", 12 | JSON.toJSONString(new BigDecimal("1")) 13 | ); 14 | 15 | assertEquals("1.", 16 | JSON.toJSONString(new BigDecimal("1"), SerializerFeature.WriteClassName) 17 | ); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/issue_3600/Issue3637.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.issue_3600; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.util.TypeUtils; 5 | import junit.framework.TestCase; 6 | 7 | import java.sql.Timestamp; 8 | 9 | public class Issue3637 extends TestCase { 10 | public void test_for_issue() throws Exception { 11 | // java.sql.Time.valueOf("01:00:00"); 12 | JSON.parseObject("\"01:00:00\"", java.sql.Time.class); 13 | TypeUtils.castToJavaBean("01:00:00", java.sql.Time.class); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/jdk8/DoubleAdderTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.jdk8; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.util.concurrent.atomic.DoubleAdder; 7 | import java.util.concurrent.atomic.LongAdder; 8 | 9 | /** 10 | * Created by wenshao on 14/03/2017. 11 | */ 12 | public class DoubleAdderTest extends TestCase { 13 | public void test_long_add() throws Exception { 14 | DoubleAdder adder = new DoubleAdder(); 15 | adder.add(3); 16 | 17 | String json = JSON.toJSONString(adder); 18 | assertEquals("{\"value\":3.0}", json); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/jdk8/LongAdderTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.jdk8; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | import java.util.concurrent.atomic.LongAdder; 7 | 8 | /** 9 | * Created by wenshao on 14/03/2017. 10 | */ 11 | public class LongAdderTest extends TestCase { 12 | public void test_long_add() throws Exception { 13 | LongAdder adder = new LongAdder(); 14 | adder.add(3); 15 | 16 | String json = JSON.toJSONString(adder); 17 | assertEquals("{\"value\":3}", json); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/jsonp/JSONPParseTest4.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.jsonp; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | import com.alibaba.fastjson.JSONPObject; 6 | import com.alibaba.fastjson.serializer.SerializerFeature; 7 | import junit.framework.TestCase; 8 | 9 | /** 10 | * Created by wenshao on 21/02/2017. 11 | */ 12 | public class JSONPParseTest4 extends TestCase { 13 | public void test_f() throws Exception { 14 | JSONPObject p = new JSONPObject(); 15 | p.setFunction("f"); 16 | assertEquals("f()", p.toJSONString()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/FeatureCountTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser; 2 | 3 | import com.alibaba.fastjson.parser.Feature; 4 | import junit.framework.TestCase; 5 | 6 | public class FeatureCountTest extends TestCase { 7 | public void testZ_0() throws Exception { 8 | Feature[] features = Feature.class.getEnumConstants(); 9 | System.out.println(features.length); 10 | assertTrue(features.length < 32); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/JSONLexerTest_15.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import org.junit.Assert; 6 | 7 | import com.alibaba.fastjson.JSON; 8 | 9 | public class JSONLexerTest_15 extends TestCase { 10 | 11 | public void test_e() throws Exception { 12 | Assert.assertTrue(123e2D == ((Double) JSON.parse("123e2D")).doubleValue()); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/JSONScannerTest_scanFieldBoolean_unquote.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser; 2 | 3 | import org.junit.Assert; 4 | import junit.framework.TestCase; 5 | 6 | import com.alibaba.fastjson.JSON; 7 | import com.alibaba.json.bvt.parser.JSONScannerTest_scanFieldBoolean.VO; 8 | 9 | public class JSONScannerTest_scanFieldBoolean_unquote extends TestCase { 10 | 11 | public void test_4() throws Exception { 12 | String text = "{\"value\":false,id:2}"; 13 | VO obj = JSON.parseObject(text, VO.class); 14 | Assert.assertEquals(false, obj.getValue()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/NullCheckTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser; 2 | 3 | import org.junit.Assert; 4 | import junit.framework.TestCase; 5 | 6 | import com.alibaba.fastjson.JSON; 7 | 8 | public class NullCheckTest extends TestCase { 9 | 10 | public void test_0() throws Exception { 11 | Assert.assertEquals(null, JSON.parse(null)); 12 | Assert.assertEquals(null, JSON.parse("")); 13 | Assert.assertEquals(null, JSON.parse(" ")); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/ParseContextTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import org.junit.Assert; 6 | 7 | import com.alibaba.fastjson.parser.ParseContext; 8 | 9 | 10 | public class ParseContextTest extends TestCase { 11 | public void test_toString() throws Exception { 12 | Assert.assertEquals("$", new ParseContext(null, new Object(), "id").toString()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/PrivateConstrunctorTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 2016/10/22. 8 | */ 9 | public class PrivateConstrunctorTest extends TestCase { 10 | 11 | public void test_parse() throws Exception { 12 | JSON.parseObject("{}", Hidden.class); 13 | } 14 | 15 | public static class Hidden { 16 | private Hidden() {} 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/ProductViewTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser; 2 | 3 | import java.util.Map; 4 | 5 | import junit.framework.TestCase; 6 | 7 | import com.alibaba.fastjson.JSON; 8 | 9 | 10 | public class ProductViewTest extends TestCase { 11 | public void test_parse() throws Exception { 12 | String text = "{\"code\":0,\"message\":\"Register Successfully!\",\"status\":\"OK\"}"; 13 | Map map = JSON.parseObject(text, Map.class); 14 | System.out.println(map.get("code").getClass()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/TypeReferenceTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser; 2 | 3 | import java.util.List; 4 | 5 | import org.junit.Assert; 6 | import junit.framework.TestCase; 7 | 8 | import com.alibaba.fastjson.JSON; 9 | import com.alibaba.fastjson.TypeReference; 10 | 11 | public class TypeReferenceTest extends TestCase { 12 | 13 | public void test_list() throws Exception { 14 | List list = JSON.parseObject("[1,2,3]", new TypeReference>() {}); 15 | Assert.assertEquals(1L, ((Long) list.get(0)).longValue()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/UTF8ByteArrayLexerTest_symbol.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONObject; 7 | 8 | public class UTF8ByteArrayLexerTest_symbol extends TestCase { 9 | 10 | public void test_utf8() throws Exception { 11 | byte[] bytes = "{\"name\":\"温家宝\", \"name\":\"xx\"}".getBytes("UTF-8"); 12 | 13 | JSONObject json = JSON.parseObject(bytes, JSONObject.class); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/UTF8ByteArrayParseTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONObject; 7 | 8 | public class UTF8ByteArrayParseTest extends TestCase { 9 | 10 | public void test_utf8() throws Exception { 11 | byte[] bytes = "{'name':'xxx', age:3, birthday:\"2009-09-05\"}".getBytes("UTF-8"); 12 | 13 | JSON.parseObject(bytes, JSONObject.class); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/autoType/AutoTypeTest6.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.autoType; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | public class AutoTypeTest6 extends TestCase { 7 | public void test_0() throws Exception { 8 | JSON.parseObject("{\"@type\":\"com.alibaba.fastjson.util.AntiCollisionHashMap\"}"); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/bug/EmptyParseArrayTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.bug; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class EmptyParseArrayTest extends TestCase { 10 | public void test_0() throws Exception { 11 | Assert.assertNull(JSON.parseArray("", VO.class)); 12 | } 13 | 14 | public static class VO { 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/DupTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 13/02/2017. 8 | */ 9 | public class DupTest extends TestCase { 10 | public void test_dup() throws Exception { 11 | String json = "{\"id\":1001,\"_id\":1002}"; 12 | 13 | Model model = JSON.parseObject(json, Model.class); 14 | assertEquals(1001, model.id); 15 | } 16 | 17 | public static class Model { 18 | public int id; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/NumberDeserializerTest2.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import org.junit.Assert; 6 | 7 | import com.alibaba.fastjson.JSON; 8 | 9 | public class NumberDeserializerTest2 extends TestCase { 10 | 11 | public void test_double2() throws Exception { 12 | Assert.assertTrue(123.0D == JSON.parseObject("123B", double.class)); 13 | Assert.assertTrue(123.0D == JSON.parseObject("123B", Double.class).doubleValue()); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/ParseNullTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | 6 | import junit.framework.TestCase; 7 | 8 | public class ParseNullTest extends TestCase { 9 | public void test_parse_null() throws Exception { 10 | JSON.parseObject("{\"value\":null}", Model.class); 11 | } 12 | 13 | public static class Model { 14 | public JSONObject value; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/ResolveFieldDeserializerTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser; 2 | 3 | import com.alibaba.fastjson.parser.deserializer.ResolveFieldDeserializer; 4 | 5 | import junit.framework.TestCase; 6 | 7 | 8 | public class ResolveFieldDeserializerTest extends TestCase { 9 | public void test_0 () throws Exception { 10 | new ResolveFieldDeserializer(null, null).parseField(null, null, null, null); 11 | new ResolveFieldDeserializer(null, null, 0).parseField(null, null, null, null); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/SmartMatchTest_snake.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | 10 | public class SmartMatchTest_snake extends TestCase { 11 | 12 | public void test_0() throws Exception { 13 | String text = "{\"person_id\":1001}"; 14 | 15 | VO vo = JSON.parseObject(text, VO.class); 16 | Assert.assertEquals(1001, vo.personId); 17 | } 18 | 19 | public static class VO { 20 | public int personId; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/SmartMatchTest_snake2.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | 10 | public class SmartMatchTest_snake2 extends TestCase { 11 | 12 | public void test_0() throws Exception { 13 | String text = "{\"_id\":1001}"; 14 | 15 | VO vo = JSON.parseObject(text, VO.class); 16 | Assert.assertEquals(1001, vo.id); 17 | } 18 | 19 | public static class VO { 20 | public int id; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/TreeMapDeserializerTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser; 2 | 3 | import java.util.TreeMap; 4 | 5 | import org.junit.Assert; 6 | import junit.framework.TestCase; 7 | 8 | import com.alibaba.fastjson.JSON; 9 | 10 | public class TreeMapDeserializerTest extends TestCase { 11 | public void test_0 () throws Exception { 12 | TreeMap treeMap = JSON.parseObject("{}", TreeMap.class); 13 | Assert.assertEquals(0, treeMap.size()); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/date/DateDeserializerTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser.date; 2 | 3 | import java.util.Date; 4 | 5 | import org.junit.Assert; 6 | import junit.framework.TestCase; 7 | 8 | import com.alibaba.fastjson.JSON; 9 | 10 | public class DateDeserializerTest extends TestCase { 11 | 12 | public void test_date() throws Exception { 13 | long millis = System.currentTimeMillis(); 14 | Assert.assertEquals(new Date(millis), JSON.parseObject("'" + millis + "'", Date.class)); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/extra/ExtraTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser.extra; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 30/03/2017. 8 | */ 9 | public class ExtraTest extends TestCase { 10 | public void test_0() throws Exception { 11 | JSON.parseObject("{\"ID\":123}", Model.class); 12 | } 13 | 14 | public static class Model { 15 | public int id; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/generic/ListStrFieldTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser.generic; 2 | 3 | import java.util.List; 4 | 5 | import org.junit.Assert; 6 | 7 | import com.alibaba.fastjson.JSON; 8 | 9 | import junit.framework.TestCase; 10 | 11 | public class ListStrFieldTest extends TestCase { 12 | public void test_0() throws Exception { 13 | Model model = JSON.parseObject("{\"values\":null}", Model.class); 14 | Assert.assertNull(model.values); 15 | } 16 | 17 | public static class Model { 18 | public List values; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/list/ListFieldTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser.list; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | public class ListFieldTest extends TestCase { 7 | public void test_for_list() throws Exception { 8 | JSON.parseObject("{'data':['a','b']}", TestPojo.class); 9 | } 10 | 11 | public static class TestPojo{ 12 | public java.util.List getData(){ 13 | return null; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/deser/var/TwoTypeTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.deser.var; 2 | 3 | import junit.framework.TestCase; 4 | 5 | /** 6 | * Created by wenshao on 23/01/2017. 7 | */ 8 | public class TwoTypeTest extends TestCase { 9 | public void test_two() throws Exception { 10 | 11 | } 12 | 13 | public static class ModelA { 14 | public int id; 15 | } 16 | 17 | public static class ModelB { 18 | public int value; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/error/ParseErrorTest_10.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.error; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONException; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class ParseErrorTest_10 extends TestCase { 11 | 12 | public void test_for_error() throws Exception { 13 | Exception error = null; 14 | try { 15 | JSON.parseObject("{123,"); 16 | } catch (JSONException ex) { 17 | error = ex; 18 | } 19 | Assert.assertNotNull(error); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/error/ParseErrorTest_11.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.error; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONException; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class ParseErrorTest_11 extends TestCase { 11 | 12 | public void test_for_error() throws Exception { 13 | Exception error = null; 14 | try { 15 | JSON.parse("[123,"); 16 | } catch (JSONException ex) { 17 | error = ex; 18 | } 19 | Assert.assertNotNull(error); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/error/ParseErrorTest_12.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.error; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONException; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class ParseErrorTest_12 extends TestCase { 11 | 12 | public void test_for_error() throws Exception { 13 | Exception error = null; 14 | try { 15 | JSON.parse("new \"Date\""); 16 | } catch (JSONException ex) { 17 | error = ex; 18 | } 19 | Assert.assertNotNull(error); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/error/ParseErrorTest_13.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.error; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONException; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class ParseErrorTest_13 extends TestCase { 11 | 12 | public void test_for_error() throws Exception { 13 | Exception error = null; 14 | try { 15 | JSON.parseObject("{\"value\":Set[]:"); 16 | } catch (JSONException ex) { 17 | error = ex; 18 | } 19 | Assert.assertNotNull(error); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/error/ParseErrorTest_14.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.error; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONException; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class ParseErrorTest_14 extends TestCase { 11 | 12 | public void test_for_error() throws Exception { 13 | Exception error = null; 14 | try { 15 | JSON.parseObject("{\"value\":true,"); 16 | } catch (JSONException ex) { 17 | error = ex; 18 | } 19 | Assert.assertNotNull(error); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/error/ParseErrorTest_15.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.error; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONException; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class ParseErrorTest_15 extends TestCase { 11 | 12 | public void test_for_error() throws Exception { 13 | Exception error = null; 14 | try { 15 | JSON.parseObject("{\"value\":trm"); 16 | } catch (JSONException ex) { 17 | error = ex; 18 | } 19 | Assert.assertNotNull(error); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/error/ParseErrorTest_16.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.error; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONException; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class ParseErrorTest_16 extends TestCase { 11 | 12 | public void test_for_error() throws Exception { 13 | Exception error = null; 14 | try { 15 | JSON.parseObject("{\"value\":fale"); 16 | } catch (JSONException ex) { 17 | error = ex; 18 | } 19 | Assert.assertNotNull(error); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/error/ParseErrorTest_17.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.error; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONException; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class ParseErrorTest_17 extends TestCase { 11 | 12 | public void test_for_error() throws Exception { 13 | Exception error = null; 14 | try { 15 | JSON.parse("[{\"$ref\":\"$\"]"); 16 | } catch (JSONException ex) { 17 | error = ex; 18 | } 19 | Assert.assertNotNull(error); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/error/ParseErrorTest_18.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.error; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONException; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class ParseErrorTest_18 extends TestCase { 11 | 12 | public void test_for_error() throws Exception { 13 | Exception error = null; 14 | try { 15 | JSON.parse("[{\"$ref\":123}]"); 16 | } catch (JSONException ex) { 17 | error = ex; 18 | } 19 | Assert.assertNotNull(error); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/error/ParseErrorTest_19.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.error; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONException; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class ParseErrorTest_19 extends TestCase { 11 | 12 | public void test_for_error() throws Exception { 13 | Exception error = null; 14 | try { 15 | JSON.parse("[\"wenshao\""); 16 | } catch (JSONException ex) { 17 | error = ex; 18 | } 19 | Assert.assertNotNull(error); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/error/ParseErrorTest_20.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.error; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONException; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class ParseErrorTest_20 extends TestCase { 11 | 12 | public void test_for_error() throws Exception { 13 | Exception error = null; 14 | try { 15 | JSON.parse("[\"wenshao\":"); 16 | } catch (JSONException ex) { 17 | error = ex; 18 | } 19 | Assert.assertNotNull(error); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/number/NumberEmtpyObjectTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.number; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import junit.framework.TestCase; 5 | 6 | /** 7 | * Created by wenshao on 24/04/2017. 8 | */ 9 | public class NumberEmtpyObjectTest extends TestCase { 10 | public void test_for_emptyObj() throws Exception { 11 | Model model = JSON.parseObject("{\"val\":{}}", Model.class); 12 | assertNull(model.val); 13 | } 14 | 15 | public static class Model { 16 | public Number val; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/number/NumberValueTest3.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.number; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONObject; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class NumberValueTest3 extends TestCase { 11 | 12 | public void test_0() throws Exception { 13 | String text = "{\"value\":-21474836481}"; 14 | JSONObject obj = (JSONObject) JSON.parse(text); 15 | Assert.assertEquals(Long.valueOf(-21474836481L), obj.get("value")); 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/number/NumberValueTest4.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.number; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONObject; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class NumberValueTest4 extends TestCase { 11 | 12 | public void test_0() throws Exception { 13 | String text = "{\"value\":21474836481}"; 14 | JSONObject obj = (JSONObject) JSON.parse(text); 15 | Assert.assertEquals(Long.valueOf(21474836481L), obj.get("value")); 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/stream/JSONReader_string_1.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.stream; 2 | 3 | import java.io.StringReader; 4 | 5 | import junit.framework.TestCase; 6 | 7 | import org.junit.Assert; 8 | 9 | import com.alibaba.fastjson.JSONReader; 10 | 11 | public class JSONReader_string_1 extends TestCase { 12 | public void test_obj() throws Exception { 13 | JSONReader reader = new JSONReader(new StringReader("\"abc\"")); 14 | 15 | Assert.assertEquals("abc", reader.readString()); 16 | 17 | reader.close(); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/taobao/BooleanObjectFieldTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.taobao; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class BooleanObjectFieldTest extends TestCase { 10 | public void test_0 () throws Exception { 11 | VO vo = JSON.parseObject("{\"value\":true}", VO.class); 12 | Assert.assertTrue(vo.value); 13 | } 14 | 15 | public static class VO { 16 | public Boolean value; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/taobao/DoubleObjectFieldTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.taobao; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class DoubleObjectFieldTest extends TestCase { 10 | public void test_0 () throws Exception { 11 | VO vo = JSON.parseObject("{\"value\":1001}", VO.class); 12 | Assert.assertTrue(1001D == vo.value); 13 | } 14 | 15 | public static class VO { 16 | public Double value; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/taobao/FloatObjectFieldTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.taobao; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class FloatObjectFieldTest extends TestCase { 10 | public void test_0 () throws Exception { 11 | VO vo = JSON.parseObject("{\"value\":1001}", VO.class); 12 | Assert.assertTrue(1001F == vo.value); 13 | } 14 | 15 | public static class VO { 16 | public Float value; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/taobao/IntAsStringTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.taobao; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class IntAsStringTest extends TestCase { 10 | public void test_0 () throws Exception { 11 | VO vo = JSON.parseObject("{\"value\":\"1001\"}", VO.class); 12 | Assert.assertEquals(1001, vo.value); 13 | } 14 | 15 | public static class VO { 16 | public int value; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/taobao/IntegerAsStringTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.taobao; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class IntegerAsStringTest extends TestCase { 10 | public void test_0 () throws Exception { 11 | VO vo = JSON.parseObject("{\"value\":\"1001\"}", VO.class); 12 | Assert.assertEquals(1001, vo.value.intValue()); 13 | } 14 | 15 | public static class VO { 16 | public Integer value; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/taobao/LongAsStringTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.taobao; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class LongAsStringTest extends TestCase { 10 | public void test_0 () throws Exception { 11 | VO vo = JSON.parseObject("{\"value\":\"1001\"}", VO.class); 12 | Assert.assertEquals(1001L, vo.value); 13 | } 14 | 15 | public static class VO { 16 | public long value; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/parser/taobao/LongObjectAsStringTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.parser.taobao; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class LongObjectAsStringTest extends TestCase { 10 | public void test_0 () throws Exception { 11 | VO vo = JSON.parseObject("{\"value\":\"1001\"}", VO.class); 12 | Assert.assertEquals(1001, vo.value.intValue()); 13 | } 14 | 15 | public static class VO { 16 | public Long value; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/path/JSONPath_3.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.path; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONPath; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class JSONPath_3 extends TestCase { 11 | public void test_path() throws Exception { 12 | String a = "{\"a\":{\"b\":{\"c\":{\"d\":{\"e\":{\"f\":{\"g\":{\"h\":{\"i\":{\"j\":{\"k\":{\"l\":\"\"}}}}}}}}}}}}"; 13 | Object x = JSON.parse(a); 14 | Assert.assertTrue(JSONPath.contains(x, "$.a.b.c.d.e.f.g.h.i")); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/path/JSONPath_4.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.path; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONPath; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class JSONPath_4 extends TestCase { 11 | 12 | public void test_path() throws Exception { 13 | String a = "{\"key\":\"value\",\"10.0.1.1\":\"haha\"}"; 14 | Object x = JSON.parse(a); 15 | JSONPath.set(x, "$.test", "abc"); 16 | Object o = JSONPath.eval(x, "$.10\\.0\\.1\\.1"); 17 | Assert.assertEquals("haha", o); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/path/JSONPath_map_size.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.path; 2 | 3 | import java.util.Collections; 4 | 5 | import org.junit.Assert; 6 | 7 | import com.alibaba.fastjson.JSONPath; 8 | 9 | import junit.framework.TestCase; 10 | 11 | public class JSONPath_map_size extends TestCase { 12 | public void test_list_size() throws Exception { 13 | Assert.assertEquals(0, JSONPath.eval(Collections.emptyMap(), "$.size")); 14 | } 15 | 16 | public void test_list_size1() throws Exception { 17 | Assert.assertEquals(0, JSONPath.eval(Collections.emptyMap(), "$.size()")); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/path/TestSpecial_0.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.path; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | import junit.framework.TestCase; 7 | 8 | import org.junit.Assert; 9 | 10 | import com.alibaba.fastjson.JSONPath; 11 | 12 | 13 | public class TestSpecial_0 extends TestCase { 14 | public void test_special() throws Exception { 15 | Map vo = new HashMap(); 16 | 17 | vo.put("a.b", 123); 18 | 19 | Assert.assertEquals((Integer) vo.get("a.b"), (Integer) JSONPath.eval(vo, "a\\.b")); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/ref/RefTest19.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.ref; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.JSONObject; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class RefTest19 extends TestCase { 11 | public void test_array() throws Exception { 12 | String text = "{\"b\":{},\"a\":{\"$ref\":\"$.b\"}}"; 13 | 14 | JSONObject obj = JSON.parseObject(text); 15 | JSONObject a = obj.getJSONObject("a"); 16 | JSONObject b = obj.getJSONObject("b"); 17 | Assert.assertSame(a, b); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/serializer/LocalTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.serializer; 2 | 3 | import java.util.Locale; 4 | 5 | import org.junit.Assert; 6 | import junit.framework.TestCase; 7 | 8 | import com.alibaba.fastjson.JSON; 9 | 10 | public class LocalTest extends TestCase { 11 | 12 | public void test_timezone() throws Exception { 13 | String text = JSON.toJSONString(Locale.CHINA); 14 | 15 | Assert.assertEquals(JSON.toJSONString(Locale.CHINA.toString()), text); 16 | 17 | Locale locale = JSON.parseObject(text, Locale.class); 18 | Assert.assertEquals(Locale.CHINA, locale); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/serializer/SerialContextTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.serializer; 2 | 3 | import org.junit.Assert; 4 | import junit.framework.TestCase; 5 | 6 | import com.alibaba.fastjson.serializer.SerialContext; 7 | 8 | 9 | public class SerialContextTest extends TestCase { 10 | public void test_context() throws Exception { 11 | SerialContext root = new SerialContext(null, null, null, 0, 0); 12 | SerialContext context = new SerialContext(root, null, "x", 0, 0); 13 | Assert.assertEquals("x", context.fieldName); 14 | Assert.assertEquals("$.x", context.toString()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/serializer/SerializeWriterTest_BrowserSecure3.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.serializer; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | import com.alibaba.fastjson.serializer.SerializerFeature; 7 | 8 | import junit.framework.TestCase; 9 | 10 | public class SerializeWriterTest_BrowserSecure3 extends TestCase { 11 | 12 | public void test_0() throws Exception { 13 | String text = JSON.toJSONString("\n", SerializerFeature.BrowserSecure); 14 | Assert.assertEquals("\"\\n\"", text); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/serializer/UnicodeTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.serializer; 2 | 3 | import java.util.Collections; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | 9 | public class UnicodeTest extends TestCase { 10 | public void test_unicode() throws Exception { 11 | String text = JSON.toJSONString(Collections.singletonMap("v", "\u0018")); 12 | System.out.println(text); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/support/springfox/JsonValueTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.support.springfox; 2 | 3 | import org.junit.Assert; 4 | 5 | import com.alibaba.fastjson.JSON; 6 | 7 | import junit.framework.TestCase; 8 | import springfox.documentation.spring.web.json.Json; 9 | 10 | public class JsonValueTest extends TestCase { 11 | public void test_0() throws Exception { 12 | Json json = new Json("\"{\"id\":1001\"}"); 13 | String text = JSON.toJSONString(json); 14 | Assert.assertEquals("\"{\"id\":1001\"}", text); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/util/IOUtilsTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.util; 2 | 3 | import com.alibaba.fastjson.util.IOUtils; 4 | import junit.framework.TestCase; 5 | 6 | import java.io.StringReader; 7 | 8 | public class IOUtilsTest extends TestCase { 9 | public void test_readAll() throws Exception { 10 | StringBuffer buf = new StringBuffer(); 11 | for (int i = 0; i < 1024 * 64; ++i) { 12 | buf.append("a"); 13 | } 14 | 15 | StringReader reader = new StringReader(buf.toString()); 16 | IOUtils.readAll(reader); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/util/JavaBeanInfoTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.util; 2 | 3 | import com.alibaba.fastjson.util.JavaBeanInfo; 4 | import junit.framework.TestCase; 5 | 6 | public class JavaBeanInfoTest extends TestCase { 7 | public void test_0() throws Exception { 8 | JavaBeanInfo.getBuilderClass(null); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvt/util/TypeUtilsCastLinkedHashMap.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvt.util; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | import com.alibaba.fastjson.parser.Feature; 6 | import junit.framework.TestCase; 7 | 8 | import java.util.LinkedHashMap; 9 | 10 | public class TypeUtilsCastLinkedHashMap extends TestCase { 11 | public void test_for_cast() throws Exception { 12 | JSONObject obj = JSON.parseObject("{\"id\":1001,\"name\":\"xxx\"}", Feature.OrderedField); 13 | obj.toJavaObject(LinkedHashMap.class); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/IntEnum.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO; 2 | 3 | /** 4 | * Created by wenshao on 10/02/2017. 5 | */ 6 | public interface IntEnum> { 7 | int getCode(); 8 | } -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/Page.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO; 2 | 3 | import java.util.List; 4 | 5 | public class Page { 6 | private Integer count; 7 | private List items; 8 | 9 | public void setCount(Integer count) { 10 | this.count = count; 11 | } 12 | 13 | public Integer getCount() { 14 | return count; 15 | } 16 | 17 | public void setItems(List items) { 18 | this.items = items; 19 | } 20 | 21 | public List getItems() { 22 | return items; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/PayDO.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO; 2 | 3 | public class PayDO { 4 | 5 | public Integer getCurrentSubPayOrder() { 6 | throw new RuntimeException("non getter getXXX method should not be called"); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/QueryResult.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO; 2 | 3 | public class QueryResult { 4 | private PayDO pay; 5 | 6 | public void setPay(PayDO pay) { 7 | this.pay = pay; 8 | } 9 | 10 | public PayDO getPay() { 11 | return pay; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/RainbowStats.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO; 2 | 3 | public class RainbowStats { 4 | private int id; 5 | private String name; 6 | 7 | public int getId() { 8 | return id; 9 | } 10 | 11 | public RainbowStats setId(int id) { 12 | this.id = id; 13 | return this; 14 | } 15 | 16 | public String getName() { 17 | return name; 18 | } 19 | 20 | public RainbowStats setName(String name) { 21 | this.name = name; 22 | return this; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/Area.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae; 2 | 3 | import com.alibaba.fastjson.annotation.JSONType; 4 | 5 | /** 6 | * Created by huangliang on 17/4/12. 7 | */ 8 | public interface Area { 9 | public static final String TYPE_FLOOR = "floor"; 10 | public static final String TYPE_ITEM = "item"; 11 | 12 | String getName(); 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/Data.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by wenshao on 09/05/2017. 7 | */ 8 | public class Data { 9 | public List areaList; 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/Floor.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by huangliang on 17/5/8. 7 | */ 8 | 9 | public class Floor implements Area { 10 | public List children; 11 | 12 | public String name; 13 | 14 | public String getName() { 15 | return name; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/Item.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae; 2 | 3 | public class Item implements Area { 4 | public String name; 5 | 6 | public String getName() { 7 | return name; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/huangliang2/Area.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae.huangliang2; 2 | 3 | import com.alibaba.fastjson.annotation.JSONType; 4 | 5 | /** 6 | * Created by huangliang on 17/5/8. 7 | */ 8 | @JSONType(seeAlso = { Section.class, FloorV1.class,FloorV2.class }) 9 | public interface Area { 10 | public static final String TYPE_SECTION = "section"; 11 | public static final String TYPE_FLOORV1 = "floorV1"; 12 | public static final String TYPE_FLOORV2 = "floorV2"; 13 | 14 | String getName(); 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/huangliang2/Floor.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae.huangliang2; 2 | 3 | 4 | import com.alibaba.fastjson.annotation.JSONType; 5 | 6 | /** 7 | * Created by huangliang on 17/5/8. 8 | */ 9 | 10 | public interface Floor extends Area { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/huangliang2/FloorPageData.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae.huangliang2; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by huangliang on 17/5/8. 7 | */ 8 | 9 | public class FloorPageData { 10 | public List areas; 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/huangliang2/FloorV1.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae.huangliang2; 2 | 3 | import com.alibaba.fastjson.annotation.JSONType; 4 | 5 | /** 6 | * Created by huangliang on 17/5/8. 7 | */ 8 | @JSONType(typeName = "floorV1") 9 | public class FloorV1 implements Floor { 10 | 11 | public String type; 12 | public String templateId; 13 | 14 | @Override 15 | public String getName() { 16 | return templateId; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/huangliang2/FloorV2.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae.huangliang2; 2 | 3 | import com.alibaba.fastjson.annotation.JSONType; 4 | 5 | /** 6 | * Created by huangliang on 17/5/8. 7 | */ 8 | @JSONType(typeName = "floorV2") 9 | public class FloorV2 implements Floor { 10 | public String type; 11 | 12 | public String templateId; 13 | 14 | @Override 15 | public String getName() { 16 | return templateId; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/huangliang2/MockResult.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae.huangliang2; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | 5 | /** 6 | * Created by huangliang on 17/5/9. 7 | */ 8 | 9 | public class MockResult { 10 | boolean isTest; 11 | public JSONObject mockResult; 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/huangliang2/NetResponse.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae.huangliang2; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | 5 | /** 6 | * Created by huangliang on 17/5/9. 7 | */ 8 | 9 | public class NetResponse { 10 | public Head head; 11 | 12 | public static class Head { 13 | public String message; 14 | public String code; 15 | public String serverErrorCode; 16 | public long serverTime; 17 | public String traceId; 18 | public String op; 19 | public String ab; 20 | } 21 | 22 | public JSONObject body; 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/ae/huangliang2/Section.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.ae.huangliang2; 2 | 3 | import com.alibaba.fastjson.annotation.JSONType; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by huangliang on 17/5/8. 9 | */ 10 | @JSONType(typeName = "section") 11 | public class Section implements Area { 12 | public List children; 13 | 14 | public String type; 15 | 16 | public String templateId; 17 | 18 | @Override 19 | public String getName() { 20 | return templateId; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/basic/LongPrimitiveEntity.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.basic; 2 | 3 | public class LongPrimitiveEntity { 4 | public long value; 5 | 6 | public LongPrimitiveEntity() { 7 | 8 | } 9 | 10 | public LongPrimitiveEntity(long value) { 11 | this.value = value; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/bbc/BaseResult.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.bbc; 2 | 3 | 4 | import java.io.Serializable; 5 | 6 | public class BaseResult implements Serializable { 7 | private T data; 8 | public T getData() { 9 | return data; 10 | } 11 | public void setData(T data) { 12 | this.data = data; 13 | } 14 | 15 | 16 | public BaseResult() { 17 | 18 | } 19 | } -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/bbc/MyResultResult.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.bbc; 2 | 3 | 4 | public class MyResultResult extends BaseResult { 5 | 6 | public MyResultResult(){ 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/deny/A.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.deny; 2 | 3 | 4 | public class A { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/vip_com/TxnListItsm.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.vip_com; 2 | 3 | import java.math.BigDecimal; 4 | 5 | public class TxnListItsm { 6 | private String assets_no; 7 | private BigDecimal cover_vol; 8 | 9 | public String getAssets_no() { 10 | return assets_no; 11 | } 12 | 13 | public void setAssets_no(String assets_no) { 14 | this.assets_no = assets_no; 15 | } 16 | 17 | public BigDecimal getCover_vol() { 18 | return cover_vol; 19 | } 20 | 21 | public void setCover_vol(BigDecimal cover_vol) { 22 | this.cover_vol = cover_vol; 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/wuqi/Result.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.wuqi; 2 | 3 | /** 4 | * Created by wuqi on 17/3/30. 5 | */ 6 | public class Result { 7 | private T data; 8 | 9 | 10 | public Result(){} 11 | 12 | public T getData() { 13 | return data; 14 | } 15 | 16 | public void setData(T data) { 17 | this.data = data; 18 | } 19 | 20 | @Override 21 | public String toString() { 22 | return "Result{" + 23 | "data=" + data + 24 | '}'; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/bvtVO/一个中文名字的包/User.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.bvtVO.一个中文名字的包; 2 | 3 | public class User { 4 | Integer id ; 5 | String name; 6 | public Integer getId() { 7 | return id; 8 | } 9 | public void setId(Integer id) { 10 | this.id = id; 11 | } 12 | public String getName() { 13 | return name; 14 | } 15 | public void setName(String name) { 16 | this.name = name; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/demo/Demo1.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.demo; 2 | 3 | import java.math.BigDecimal; 4 | 5 | import junit.framework.TestCase; 6 | 7 | import com.alibaba.fastjson.JSONObject; 8 | 9 | public class Demo1 extends TestCase { 10 | 11 | public void test_0() throws Exception { 12 | JSONObject jsonObject = new JSONObject(); 13 | jsonObject.put("name", "Jobs"); 14 | jsonObject.put("age", 50); 15 | jsonObject.put("salary", new BigDecimal(8000)); 16 | 17 | String text = jsonObject.toJSONString(); 18 | System.out.println(text); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/demo/MapDemo.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.demo; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | import junit.framework.TestCase; 7 | 8 | import com.alibaba.fastjson.JSON; 9 | 10 | public class MapDemo extends TestCase { 11 | public void test_0 () throws Exception { 12 | Map map = new HashMap(); 13 | map.put("id", 123); 14 | map.put("name", "张三"); 15 | 16 | String text = JSON.toJSONString(map); 17 | System.out.println(text); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/demo/X.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.demo; 2 | 3 | 4 | public class X { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/ErrorAppendable.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test; 2 | 3 | import java.io.IOException; 4 | 5 | public final class ErrorAppendable implements Appendable { 6 | 7 | public Appendable append(CharSequence csq, int start, int end) throws IOException { 8 | throw new IOException(""); 9 | } 10 | 11 | public Appendable append(char c) throws IOException { 12 | throw new IOException(""); 13 | } 14 | 15 | public Appendable append(CharSequence csq) throws IOException { 16 | throw new IOException(""); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/TestSysProperty.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test; 2 | 3 | import junit.framework.TestCase; 4 | 5 | 6 | public class TestSysProperty extends TestCase { 7 | public void test_0 () throws Exception { 8 | System.out.println(System.getProperty("java.vm.name")); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/VansParseTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test; 2 | 3 | /** 4 | * Created by wenshao on 11/01/2017. 5 | */ 6 | public class VansParseTest { 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/a/Group.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.a; 2 | 3 | import java.util.List; 4 | 5 | public class Group { 6 | 7 | List uulist; 8 | 9 | public List getUulist() { 10 | return uulist; 11 | } 12 | 13 | public void setUulist(List uulist) { 14 | this.uulist = uulist; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/a/VRTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.a; 2 | 3 | /** 4 | * Created by wenshao on 11/01/2017. 5 | */ 6 | public class VRTest { 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/benchmark/BenchmarkCase.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.benchmark; 2 | 3 | import com.alibaba.json.test.codec.Codec; 4 | 5 | public abstract class BenchmarkCase { 6 | 7 | private final String name; 8 | 9 | public BenchmarkCase(String name){ 10 | super(); 11 | this.name = name; 12 | } 13 | 14 | public String getName() { 15 | return name; 16 | } 17 | 18 | public void init(Codec codec) throws Exception { 19 | 20 | } 21 | 22 | public abstract void execute(Codec codec) throws Exception; 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/benchmark/BenchmarkTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.benchmark; 2 | 3 | import junit.framework.TestCase; 4 | 5 | public class BenchmarkTest extends TestCase { 6 | 7 | public void test_benchmark() throws Exception { 8 | BenchmarkMain.main(new String[]{}); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/benchmark/decode/EishayTreeDecode.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.benchmark.decode; 2 | 3 | import com.alibaba.json.test.benchmark.BenchmarkCase; 4 | import com.alibaba.json.test.codec.Codec; 5 | 6 | public class EishayTreeDecode extends BenchmarkCase { 7 | 8 | private final String text; 9 | 10 | public EishayTreeDecode(){ 11 | super("EishayDecode-tree"); 12 | 13 | this.text = EishayDecodeBytes.instance.getText(); 14 | } 15 | 16 | @Override 17 | public void execute(Codec codec) throws Exception { 18 | codec.decode(text); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/codegen/DepartmentType.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.codegen; 2 | 3 | 4 | public enum DepartmentType { 5 | Normal, Virtual 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/codegen/Employee.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.codegen; 2 | 3 | public class Employee { 4 | 5 | private int id; 6 | private String name; 7 | 8 | public int getId() { 9 | return id; 10 | } 11 | 12 | public void setId(int id) { 13 | this.id = id; 14 | } 15 | 16 | public String getName() { 17 | return name; 18 | } 19 | 20 | public void setName(String name) { 21 | this.name = name; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/codegen/GenMediaTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.codegen; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.codegen.DeserializerGen; 6 | 7 | import data.media.Media; 8 | 9 | public class GenMediaTest extends TestCase { 10 | 11 | public void test_codegen() throws Exception { 12 | StringBuffer out = new StringBuffer(); 13 | DeserializerGen generator = new DeserializerGen(Media.class, out); 14 | 15 | generator.gen(); 16 | 17 | System.out.println(out.toString()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/codegen/GenTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.codegen; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.codegen.DeserializerGen; 6 | 7 | import data.media.MediaContent; 8 | 9 | public class GenTest extends TestCase { 10 | 11 | public void test_codegen() throws Exception { 12 | StringBuffer out = new StringBuffer(); 13 | DeserializerGen generator = new DeserializerGen(MediaContent.class, out); 14 | 15 | generator.gen(); 16 | 17 | System.out.println(out.toString()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/codegen/MediaContentGenTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.codegen; 2 | 3 | import junit.framework.TestCase; 4 | 5 | import com.alibaba.fastjson.codegen.DeserializerGen; 6 | 7 | import data.media.Image; 8 | import data.media.MediaContent; 9 | 10 | public class MediaContentGenTest extends TestCase { 11 | 12 | public void test_codegen() throws Exception { 13 | StringBuffer out = new StringBuffer(); 14 | DeserializerGen generator = new DeserializerGen(MediaContent.class, out); 15 | 16 | generator.gen(); 17 | 18 | System.out.println(out.toString()); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/dubbo/EnumTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.dubbo; 2 | 3 | public enum EnumTest { 4 | 5 | Pig, 6 | Dog, 7 | Cat 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/entity/pagemodel/RegionEnum.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.entity.pagemodel; 2 | 3 | /** 4 | * TODO Comment of RegionEnum 5 | * 6 | * @author jiajie.yujj @ 2010-11-29 ����09:53:53 7 | */ 8 | public enum RegionEnum { 9 | SIDE, MAIN, EXTRA; 10 | 11 | public String getId() { 12 | return this.toString(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/entity/pagemodel/WidgetInstance.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.entity.pagemodel; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * TODO Comment of WidgetInstance 7 | * 8 | * @author jiajie.yujj @ 2010-11-29 ����09:54:10 9 | */ 10 | public class WidgetInstance extends ComponentInstance implements Serializable { 11 | 12 | private static final long serialVersionUID = 153195882933950235L; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/generic/TBean.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.generic; 2 | import java.io.Serializable; 3 | 4 | 5 | public class TBean implements Serializable { 6 | 7 | String s; 8 | public String getS() { 9 | return s; 10 | } 11 | public void setS(String s) { 12 | this.s = s; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/generic/TGen.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.generic; 2 | import java.io.Serializable; 3 | 4 | 5 | public class TGen implements Serializable { 6 | 7 | G b; 8 | public G getB() { 9 | return b; 10 | } 11 | public void setB(G b) { 12 | this.b = b; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/generic/TStr.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.generic; 2 | import java.io.Serializable; 3 | 4 | public class TStr implements Serializable { 5 | 6 | TGen g; 7 | 8 | public TGen getG() { 9 | return g; 10 | } 11 | 12 | public void setG(TGen g) { 13 | this.g = g; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/performance/JsonitorCollisionTest.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.performance; 2 | 3 | /** 4 | * Created by wenshao on 08/01/2017. 5 | */ 6 | public class JsonitorCollisionTest { 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/tmall/EngineResult.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.tmall; 2 | 3 | import com.alibaba.fastjson.annotation.JSONField; 4 | 5 | /** 6 | * User: jingxian.lzg 7 | * Date: 2015/9/1 8 | * Time: 16:55 9 | */ 10 | public class EngineResult { 11 | @JSONField(name = "pinglun") 12 | private RateResult rateResult; 13 | 14 | public RateResult getRateResult () { 15 | return rateResult; 16 | } 17 | 18 | public void setRateResult (RateResult rateResult) { 19 | this.rateResult = rateResult; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/vans/VansAnimation.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.vans; 2 | 3 | 4 | import java.io.Serializable; 5 | import java.util.ArrayList; 6 | 7 | /** 8 | * Created by xiaolin_kxl on 17/1/5. 9 | */ 10 | public class VansAnimation implements Serializable{ 11 | public String fps; 12 | public String name; 13 | public ArrayList tracks; 14 | 15 | public VansAnimation(){ 16 | 17 | } 18 | } -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/vans/VansData.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.vans; 2 | 3 | import java.io.Serializable; 4 | import java.util.ArrayList; 5 | import java.util.List; 6 | 7 | /** 8 | * Created by xiaolin_kxl on 16/12/28. 9 | */ 10 | public class VansData implements Serializable{ 11 | 12 | public int[] textures; 13 | public ArrayList images; 14 | public VansObject object; 15 | public VansMetaData metadata; 16 | public ArrayList geometries; 17 | public ArrayList animations; 18 | public Object materials; 19 | 20 | } -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/vans/VansGeometry.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.vans; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by xiaolin_kxl on 17/1/5. 7 | */ 8 | public class VansGeometry implements Serializable{ 9 | public String uuid; 10 | public String type; 11 | public VansGeometryData data; 12 | 13 | public VansGeometry(){ 14 | 15 | } 16 | } -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/vans/VansGeometryDataMetaData.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.vans; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by xiaolin_kxl on 16/12/28. 7 | */ 8 | 9 | public class VansGeometryDataMetaData implements Serializable { 10 | public int version; 11 | public int uvs; 12 | public int normals; 13 | public int faces; 14 | public int vertices; 15 | public String generator; 16 | 17 | public VansGeometryDataMetaData() { 18 | 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/vans/VansMetaData.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.vans; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by xiaolin_kxl on 17/1/5. 7 | */ 8 | public class VansMetaData implements Serializable{ 9 | public String version; 10 | public String type; 11 | public String generator; 12 | public VansMetaData(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/alibaba/json/test/vans/VansObject.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.json.test.vans; 2 | 3 | import com.alibaba.fastjson.annotation.JSONType; 4 | 5 | import java.io.Serializable; 6 | import java.util.ArrayList; 7 | 8 | /** 9 | * Created by xiaolin_kxl on 17/1/5. 10 | */ 11 | @JSONType(orders = {"uuid","type","matrix","children"}) 12 | public class VansObject implements Serializable { 13 | public String uuid; 14 | public String type; 15 | public ArrayList children; 16 | public float[] matrix; 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/Header.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson; 2 | 3 | public class Header { 4 | private String taskId; 5 | 6 | public String getTaskId() { 7 | return taskId; 8 | } 9 | 10 | public void setTaskId(String taskId) { 11 | this.taskId = taskId; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/AgeQualifyingType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum AgeQualifyingType { 4 | ADULT 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/BathType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum BathType { 4 | } 5 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/CancelPenaltyType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum CancelPenaltyType { 4 | UNKNOWN 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/CardCode.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum CardCode { 4 | VISA 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/ChargeType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum ChargeType { 4 | FIXED 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/ChargeUnit.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum ChargeUnit { 4 | PER_NIGHT 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/CompositeType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum CompositeType { 4 | UNKNOWN 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/Currency.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum Currency { 4 | CNY 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/DateRangeDTO.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | import java.util.Date; 4 | 5 | public class DateRangeDTO extends AbstractDTO{ 6 | private Date start; 7 | private Date end; 8 | 9 | public Date getStart() { 10 | return start; 11 | } 12 | 13 | public void setStart(Date start) { 14 | this.start = start; 15 | } 16 | 17 | public Date getEnd() { 18 | return end; 19 | } 20 | 21 | public void setEnd(Date end) { 22 | this.end = end; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/ErrorsDTO.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class ErrorsDTO extends AbstractDTO { 7 | private List errors = new ArrayList(); 8 | 9 | public List getErrors() { 10 | return errors; 11 | } 12 | 13 | public void setErrors(List errors) { 14 | this.errors = errors; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/FreeMealDTO.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public class FreeMealDTO extends AbstractDTO{ 4 | private FreeMealType type; 5 | 6 | public FreeMealType getType() { 7 | return type; 8 | } 9 | 10 | public void setType(FreeMealType type) { 11 | this.type = type; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/FreeMealType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum FreeMealType { 4 | NONE 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/GenericRS.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | 4 | public class GenericRS extends AbstractRS{ 5 | private ResponseHeader header; 6 | private T payload; 7 | 8 | public T getPayload() { 9 | return payload; 10 | } 11 | 12 | public void setPayload(T payload) { 13 | this.payload = payload; 14 | } 15 | 16 | public ResponseHeader getHeader() { 17 | return header; 18 | } 19 | 20 | public void setHeader(ResponseHeader header) { 21 | this.header = header; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/GuaranteeType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum GuaranteeType { 4 | CreditCard 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/InternetType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum InternetType { 4 | } 5 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/LanguageType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum LanguageType { 4 | ZH_CN 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/MealsIncludedType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum MealsIncludedType { 4 | UNKNOWN 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/PaymentType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum PaymentType { 4 | POA, 5 | PREPAY 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/ProviderChainDTO.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | import java.util.List; 4 | 5 | public class ProviderChainDTO extends AbstractDTO{ 6 | private List providers; 7 | 8 | 9 | public List getProviders() { 10 | return providers; 11 | } 12 | 13 | public void setProviders(List providers) { 14 | this.providers = providers; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/ResponseHeader.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public class ResponseHeader extends AbstractDTO{ 4 | private String taskId; 5 | 6 | public ResponseHeader() { 7 | } 8 | 9 | public ResponseHeader(String taskId) { 10 | this.taskId = taskId; 11 | } 12 | 13 | public String getTaskId() { 14 | return taskId; 15 | } 16 | 17 | public void setTaskId(String taskId) { 18 | this.taskId = taskId; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/RoomRateDTO.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | import java.util.List; 4 | 5 | public class RoomRateDTO extends AbstractDTO{ 6 | private List rates; 7 | 8 | public List getRates() { 9 | return rates; 10 | } 11 | 12 | public void setRates(List rates) { 13 | this.rates = rates; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/SmokingType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum SmokingType { 4 | INDIFFERENT 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/SuccessDTO.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class SuccessDTO extends AbstractDTO { 7 | private List messages = new ArrayList(); 8 | 9 | public List getMessages() { 10 | return messages; 11 | } 12 | 13 | public void setMessages(List infos) { 14 | this.messages = infos; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/UniqueIDType.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public enum UniqueIDType { 4 | HOTEL 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/WarningDTO.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | public class WarningDTO extends AbstractDTO{ 4 | private String code; 5 | private String message; 6 | 7 | public String getCode() { 8 | return code; 9 | } 10 | public void setCode(String code) { 11 | this.code = code; 12 | } 13 | public String getMessage() { 14 | return message; 15 | } 16 | public void setMessage(String message) { 17 | this.message = message; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/derbysoft/spitfire/fastjson/dto/WarningsDTO.java: -------------------------------------------------------------------------------- 1 | package com.derbysoft.spitfire.fastjson.dto; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class WarningsDTO extends AbstractDTO{ 7 | private List warningList = new ArrayList(); 8 | 9 | public List getWarningList() { 10 | return warningList; 11 | } 12 | 13 | public void setWarningList(List warnings) { 14 | this.warningList = warnings; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/mchange/v2/c3p0/impl/PoolBackedDataSourceBase.java: -------------------------------------------------------------------------------- 1 | package com.mchange.v2.c3p0.impl; 2 | 3 | /** 4 | * Created by wenshao on 27/01/2017. 5 | */ 6 | public class PoolBackedDataSourceBase { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/com/wheelchair/validate/testcase_accurate_json.json: -------------------------------------------------------------------------------- 1 | {"string":"a","nums":[0,-1,10,0.123,1e5,-1e+6,0.1e-7],"object":{"empty":{},"list":[]},"list":["object",{"true":true,"false":false,"null":null}]} -------------------------------------------------------------------------------- /src/test/java/com/wheelchair/validate/testcase_colon_error.json: -------------------------------------------------------------------------------- 1 | {"colonError"} -------------------------------------------------------------------------------- /src/test/java/com/wheelchair/validate/testcase_num_error1.json: -------------------------------------------------------------------------------- 1 | {"num_err1":+a} -------------------------------------------------------------------------------- /src/test/java/com/wheelchair/validate/testcase_num_error2.json: -------------------------------------------------------------------------------- 1 | {"num_err1":1ea} -------------------------------------------------------------------------------- /src/test/java/com/wheelchair/validate/testcase_quotation_mark_error.json: -------------------------------------------------------------------------------- 1 | {noQuotationMarksError} -------------------------------------------------------------------------------- /src/test/java/com/wheelchair/validate/testcase_square_brackets_error.json: -------------------------------------------------------------------------------- 1 | {"square_brackets_error": [1} -------------------------------------------------------------------------------- /src/test/java/com/wheelchair/validate/testcase_tfn_error.json: -------------------------------------------------------------------------------- 1 | {"num_err1":trua} -------------------------------------------------------------------------------- /src/test/java/data/ReprUtil.java: -------------------------------------------------------------------------------- 1 | package data; 2 | 3 | public class ReprUtil 4 | { 5 | public static String repr(String s) 6 | { 7 | if (s == null) return "null"; 8 | return '"' + s + '"'; 9 | } 10 | 11 | public static String repr(Iterable it) 12 | { 13 | StringBuilder buf = new StringBuilder(); 14 | buf.append('['); 15 | String sep = ""; 16 | for (String s : it) { 17 | buf.append(sep); sep = ", "; 18 | buf.append(repr(s)); 19 | } 20 | buf.append(']'); 21 | return buf.toString(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/oracle/sql/DATE.java: -------------------------------------------------------------------------------- 1 | package oracle.sql; 2 | 3 | import java.sql.Date; 4 | import java.sql.Timestamp; 5 | 6 | public class DATE { 7 | 8 | private Date date; 9 | 10 | public DATE(Timestamp date){ 11 | long time = date.getTime(); 12 | time = (time / 1000) * 1000; 13 | this.date = new Date(time); 14 | } 15 | 16 | public Date toJdbc() { 17 | return date; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/oracle/sql/TIMESTAMP.java: -------------------------------------------------------------------------------- 1 | package oracle.sql; 2 | 3 | import java.sql.Timestamp; 4 | import java.util.Date; 5 | 6 | public class TIMESTAMP { 7 | 8 | private Date date; 9 | 10 | public TIMESTAMP(Timestamp date){ 11 | this.date = date; 12 | } 13 | 14 | public Date toJdbc() { 15 | return date; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/resources/META-INF/services/com.alibaba.fastjson.serializer.AutowiredObjectSerializer: -------------------------------------------------------------------------------- 1 | com.alibaba.json.demo.XAutowiredObjectSerializer 2 | #com.alibaba.json.demo.XAutowiredObjectSerializer 3 | com.alibaba.json.demo.ErrorObjectSerializer -------------------------------------------------------------------------------- /src/test/resources/external/Demo.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/external/Demo.clazz -------------------------------------------------------------------------------- /src/test/resources/external/EsbHashMapBean.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/external/EsbHashMapBean.clazz -------------------------------------------------------------------------------- /src/test/resources/external/EsbListBean.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/external/EsbListBean.clazz -------------------------------------------------------------------------------- /src/test/resources/external/EsbResultModel.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/external/EsbResultModel.clazz -------------------------------------------------------------------------------- /src/test/resources/external/MockDemoService.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/external/MockDemoService.clazz -------------------------------------------------------------------------------- /src/test/resources/external/MyEsbResultModel2.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/external/MyEsbResultModel2.clazz -------------------------------------------------------------------------------- /src/test/resources/external/VO.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/external/VO.clazz -------------------------------------------------------------------------------- /src/test/resources/external/VO2.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/external/VO2.clazz -------------------------------------------------------------------------------- /src/test/resources/fastjson.properties: -------------------------------------------------------------------------------- 1 | #default 2 | fastjson.compatibleWithJavaBean=false 3 | #default 4 | fastjson.compatibleWithFieldName=false 5 | #default 6 | fastjson.parser.deny= -------------------------------------------------------------------------------- /src/test/resources/issue859.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/issue859.zip -------------------------------------------------------------------------------- /src/test/resources/json/Bug_1_Test.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/json/Bug_1_Test.json -------------------------------------------------------------------------------- /src/test/resources/json/Bug_for_sanxiao.json: -------------------------------------------------------------------------------- 1 | { 2 | "passengerSegmentItems": [ 3 | { 4 | "rawAttributes": { 5 | "originPrice": "43200" 6 | }, 7 | "segment": { 8 | "agentId": 1428, 9 | } 10 | } 11 | ], 12 | "segments": [ 13 | { 14 | "$ref": "$.passengerSegmentItems[0].segment" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /src/test/resources/json/json_with_comment.json: -------------------------------------------------------------------------------- 1 | { 2 | "hello":"asafsadf", //single line comment 3 | "test":1 , 4 | /** 5 | 多行注释 6 | */ 7 | 8 | /** 9 | 多行注释 10 | */ 11 | 12 | "array":[ 13 | "10000sfsaf" /*test*/, 14 | 100, //hello 15 | { 16 | "nihao":{"test":"sdfasdf"/*hehe*/} 17 | } 18 | ], 19 | 20 | "object":{/*en*/ 21 | 22 | "teset" /*ceshi*/ : 1000/*测试*/ 23 | } 24 | //单行注释 25 | 26 | } -------------------------------------------------------------------------------- /src/test/resources/jvmargs: -------------------------------------------------------------------------------- 1 | -server -Xmx2g -Xms2g -Xmn512m -XX:PermSize=196m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 2 | -------------------------------------------------------------------------------- /src/test/resources/kotlin/A.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/A.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/ClassWithPair.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/ClassWithPair.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/ClassWithPairMixedTypes.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/ClassWithPairMixedTypes.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/ClassWithRanges.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/ClassWithRanges.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/ClassWithTriple.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/ClassWithTriple.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/Class_WithPrimaryAndSecondaryConstructor.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/Class_WithPrimaryAndSecondaryConstructor.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/DataClass.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/DataClass.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/DataClassPropsGeneric.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/DataClassPropsGeneric.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/DataClassSimple.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/DataClassSimple.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/Issue1488_Server.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/Issue1488_Server.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/Issue1569_User.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/Issue1569_User.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/Issue1750_ProcessBO.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/Issue1750_ProcessBO.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/ObjectA.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/ObjectA.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/Person.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/Person.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/ProjectItemCheckItemRelation1.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/ProjectItemCheckItemRelation1.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/ResponseKotlin.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/ResponseKotlin.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/ResponseKotlin2.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/ResponseKotlin2.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/issue1526/DataClass.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/issue1526/DataClass.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/issue1543/Cluster.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/issue1543/Cluster.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/issue1543/User1.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/issue1543/User1.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/issue1547/Head.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/issue1547/Head.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/zuojing/NoticeData.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/zuojing/NoticeData.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/zuojing/NoticeDataKt.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/zuojing/NoticeDataKt.clazz -------------------------------------------------------------------------------- /src/test/resources/kotlin/zuojing/NoticeData_Companion.clazz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/fastjson/c942c83443117b73af5ad278cc780270998ba3e1/src/test/resources/kotlin/zuojing/NoticeData_Companion.clazz -------------------------------------------------------------------------------- /src/test/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger= error, stdout 2 | 3 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 4 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 5 | log4j.appender.stdout.layout.ConversionPattern=%d %-5p %c{1} - %m%n 6 | 7 | # Show Hibernate warning and SQLs 8 | log4j.logger.org.hibernate=warn 9 | log4j.logger.org.hibernate.SQL=DEBUG 10 | log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=trace 11 | log4j.logger.org.hibernate.cfg.Configuration=INFO 12 | -------------------------------------------------------------------------------- /src/test/resources/log4j2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /vtune.sh: -------------------------------------------------------------------------------- 1 | export AMPLXE_EXPERIMENTAL=1 2 | /Users/wenshao/Install/vtune/amplxe-cl -collect hotspots java -classpath target/classes/:target/test-classes/ com.alibaba.json.test.benchmark.BenchmarkMain 3 | -------------------------------------------------------------------------------- /x.sh: -------------------------------------------------------------------------------- 1 | export AMPLXE_EXPERIMENTAL=1 2 | /opt/intel/vtune_amplifier_xe/bin64/amplxe-cl -collect hotspots /opt/taobao/install/jdk-1.7.0_10/bin/java -classpath target/classes/:target/test-classes/ com.alibaba.json.test.benchmark.BenchmarkMain 3 | --------------------------------------------------------------------------------