jackson-core
jackson-core copied to clipboard
Loss of stream deserialization property resolution
When deserializing using the streaming API, the properties of the parsed JSON string are lost when the length () of the JSON string is equal to 156220; when the length () of the JSON string is equal to 13762, the properties of the parsed JSON string are correct. Core Version:2.10.2
JSON Demo:
{
"T07_Pboc_Info":{
"pbocv_identity_education": "",
"pbocv_identity_marriage":"",
"pbocv_loan_houseall_cnt":"",
"pbocv_query_creditappr_cnt_p3m":"",
"pbocv_query_orgnum_p12m":"",
"pbocv_cc_1stopenacct_mths":"",
"pboc_inq_numin1m_self":"",
"pbocv_credit_dlq_mths_p12m":"",
"pbocv_credit_max_dlqterm_p24m":""
}
}
Code Demo:
public class input extends AbstractInput implements Serializable{
public input$T07_Pboc_Info T07_Pboc_Info = new input$T07_Pboc_Info();
public void parseFillProperty(String inputJson) throws Exception {
JsonParser jsonParser = JsonParserConstant.FACTORY.createParser(inputJson);
try {
fillInputRoot(jsonParser);
} finally {
jsonParser.close();
}
}
private void fillInputRoot(JsonParser jsonParser) throws Exception {
int attrNeedCnt = 1;
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
if(attrNeedCnt <= 0) {
continue;
}
String fieldName = jsonParser.getCurrentName();
if ("T07_Pboc_Info".equals(fieldName)) {
if(Objects.equals(jsonParser.currentToken(), JsonToken.FIELD_NAME)){
jsonParser.nextToken();
}
this.T07_Pboc_Info = new input$T07_Pboc_Info();
fillInputT07_Pboc_Info(this.T07_Pboc_Info, jsonParser);
attrNeedCnt--;
}
else{
jsonParser.nextToken();
}
}
}
private void fillInputT07_Pboc_Info(input$T07_Pboc_Info T07_Pboc_Info, JsonParser jsonParser) throws Exception {
int attrNeedCnt = 9;
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
if(attrNeedCnt <= 0) {
continue;
}
String fieldName = jsonParser.getCurrentName();
if ("pbocv_identity_education".equals(fieldName)) {
if(Objects.equals(jsonParser.currentToken(), JsonToken.FIELD_NAME)){
jsonParser.nextToken();
}
T07_Pboc_Info.pbocv_identity_education = jsonParser.getText();
attrNeedCnt--;
} else if ("pbocv_identity_marriage".equals(fieldName)) {
if(Objects.equals(jsonParser.currentToken(), JsonToken.FIELD_NAME)){
jsonParser.nextToken();
}
T07_Pboc_Info.pbocv_identity_marriage = jsonParser.getText();
attrNeedCnt--;
} else if ("pbocv_loan_houseall_cnt".equals(fieldName)) {
if(Objects.equals(jsonParser.currentToken(), JsonToken.FIELD_NAME)){
jsonParser.nextToken();
}
T07_Pboc_Info.pbocv_loan_houseall_cnt = jsonParser.getIntValue();
attrNeedCnt--;
} else if ("pbocv_query_creditappr_cnt_p3m".equals(fieldName)) {
if(Objects.equals(jsonParser.currentToken(), JsonToken.FIELD_NAME)){
jsonParser.nextToken();
}
T07_Pboc_Info.pbocv_query_creditappr_cnt_p3m = jsonParser.getIntValue();
attrNeedCnt--;
} else if ("pbocv_query_orgnum_p12m".equals(fieldName)) {
if(Objects.equals(jsonParser.currentToken(), JsonToken.FIELD_NAME)){
jsonParser.nextToken();
}
T07_Pboc_Info.pbocv_query_orgnum_p12m = jsonParser.getIntValue();
attrNeedCnt--;
} else if ("pbocv_cc_1stopenacct_mths".equals(fieldName)) {
if(Objects.equals(jsonParser.currentToken(), JsonToken.FIELD_NAME)){
jsonParser.nextToken();
}
T07_Pboc_Info.pbocv_cc_1stopenacct_mths = jsonParser.getIntValue();
attrNeedCnt--;
} else if ("pboc_inq_numin1m_self".equals(fieldName)) {
if(Objects.equals(jsonParser.currentToken(), JsonToken.FIELD_NAME)){
jsonParser.nextToken();
}
T07_Pboc_Info.pboc_inq_numin1m_self = jsonParser.getIntValue();
attrNeedCnt--;
} else if ("pbocv_credit_dlq_mths_p12m".equals(fieldName)) {
if(Objects.equals(jsonParser.currentToken(), JsonToken.FIELD_NAME)){
jsonParser.nextToken();
}
T07_Pboc_Info.pbocv_credit_dlq_mths_p12m = jsonParser.getIntValue();
attrNeedCnt--;
} else if ("pbocv_credit_max_dlqterm_p24m".equals(fieldName)) {
if(Objects.equals(jsonParser.currentToken(), JsonToken.FIELD_NAME)){
jsonParser.nextToken();
}
T07_Pboc_Info.pbocv_credit_max_dlqterm_p24m = jsonParser.getIntValue();
attrNeedCnt--;
}
else{
jsonParser.nextToken();
}
}
}
}
2.10.2
is an old version -- can you reproduce this with 2.13.3? There is a non-trivial chance of a fix in-between so this would verify whether
- Problem still exists, OR
- Has been fixed in which case I can probably find the issue in release notes
Link is based on the spring-boot-2.7.0 and jackson-2.13.3 version of the use case test, the above problems still exist, please help to confirm whether a bug, please read the detailed operation README.md, thanks.
Why is left-to-right nextToken resolution lost when the problem of missing resolution is fixed by skipping child node resolution? Check out the test case project above, please~
Why is left-to-right nextToken resolution lost when the problem of missing resolution is fixed by skipping child node resolution? Check out the test case project above, please~ Fix Code:
else if (fieldName == null) { jsonParser.nextToken(); } else { jsonParser = jsonParser.skipChildren(); jsonParser.nextToken(); }
I don't understand what you are trying to say here unfortunately. What is getting lost, when?
What I need is a unit test, without any external framework; this helps isolate Spring Boot issues from Jackson issues. I do not troubleshoot Spring Boot (and other framework parts), nor do I step through code or humongous documents.
Unfortunately above information is not enough for me to help you: the original was missing type input$T07_Pboc_Info
and the input looked like a small snippet instead of something with length 156220
.
There are couple of things code should probably, including verifying that the current token is what is expected (f.ex, before calling parser.getIntValue()
it would be good to verify currentToken()
is JsonToken.VALUE_NUMBER_INT
) but I don't see anything specifically incorrect.
The original description suggested this could be a buffer boundary condition for tokenization so I would be interested in figuring out what is happening. But I need a more self-contained test case.
I don't understand what you are trying to say here unfortunately. What is getting lost, when?
What I need is a unit test, without any external framework; this helps isolate Spring Boot issues from Jackson issues. I do not troubleshoot Spring Boot (and other framework parts), nor do I step through code or humongous documents.
Unfortunately above information is not enough for me to help you: the original was missing type
input$T07_Pboc_Info
and the input looked like a small snippet instead of something with length156220
. There are couple of things code should probably, including verifying that the current token is what is expected (f.ex, before callingparser.getIntValue()
it would be good to verifycurrentToken()
isJsonToken.VALUE_NUMBER_INT
) but I don't see anything specifically incorrect.The original description suggested this could be a buffer boundary condition for tokenization so I would be interested in figuring out what is happening. But I need a more self-contained test case.
Without the Spring boot framework, the JSON length of the unit test input exceeds the length of the Java String and can only be tested by issuing a request to the body, You can copy the metadata object and request JSON out for testing. Test Project:https://github.com/dylan-tao/jackson-test
I don't understand what you are trying to say here unfortunately. What is getting lost, when? What I need is a unit test, without any external framework; this helps isolate Spring Boot issues from Jackson issues. I do not troubleshoot Spring Boot (and other framework parts), nor do I step through code or humongous documents. Unfortunately above information is not enough for me to help you: the original was missing type
input$T07_Pboc_Info
and the input looked like a small snippet instead of something with length156220
. There are couple of things code should probably, including verifying that the current token is what is expected (f.ex, before callingparser.getIntValue()
it would be good to verifycurrentToken()
isJsonToken.VALUE_NUMBER_INT
) but I don't see anything specifically incorrect. The original description suggested this could be a buffer boundary condition for tokenization so I would be interested in figuring out what is happening. But I need a more self-contained test case.Without the Spring boot framework, the JSON length of the unit test input exceeds the length of the Java String and can only be tested by issuing a request to the body, You can copy the metadata object and request JSON out for testing. Test Project:https://github.com/dylan-tao/jackson-test
Call method:
input input = new input(); input.parseFillProperty(json);
Metadata: com.example.jacksontest.metadata#input; com.example.jacksontest.metadata#input$T07_Pboc_Info; com.example.jacksontest.metadata#AbstractInput;
Json:
{"application_id":"1002","channel_id":"01","product_id":"01","DSWorkflow":{"state":"START","step_no":2,"next_ds_codes":"NA"},"T01_Apply_Info":{"T011_Cus_Info":{"applist_mobile":"17163852756","applist_name":"","applist_income":"","applist_education_degree":"","applist_marital_state":"","applist_industry":"","applist_occupation":"","applist_res_addr_prov":"","applist_res_addr_city":"","applist_res_addr_district":"","applist_res_addr_detail":"","applist_company":"","applist_company_telephone":"","applist_comp_addr_prov":"","applist_comp_addr_city":"","applist_comp_addr_district":"","applist_comp_addr_detail":"","applist_contact1_name":"","applist_contact1_mobile":"","applist_contact1_relation":"","applist_contact2_name":"","applist_contact2_mobile":"","applist_contact2_relation":""},"T012_Idcard_Info":{"applist_id_nbr":"429006200104210345","applist_id_type":"","applist_id_nationality":"","applist_regaddr":"","applist_id_issuing_authority":"","applist_id_enddate":""},"T013_Bankcard_Info":{"appcrd_name":"","appcrd_bank_name":"","appcrd_card_no":"","appcrd_mobile":""},"T014_Facerecog_Info":{"f_facerecog_score":0,"f_facerecog_result":"","f_facerecog_trial_count":0,"f_facerecog_fail_count":0},"T015_Credit_Info":{"app_eventtype":"1","app_creditid":"","app_creditlimit":0,"app_creditrate":0,"app_withdrawamount":0,"app_repaytype":"","app_totalperiod":0},"T016_Apply_Derivate":{"appdrv_regaddr_prov":"","appdrv_regaddr_city":"","appdrv_mobile_prov":"","appdrv_mobile_city":"","appdrv_telphone_prov":"","appdrv_telphone_city":""},"T017_Platform_DecisionInfo":{"pbocQuery":"","RM0001":0,"RM0002":"L","RM0003":0,"RM0004":0,"RM0005":1,"RM0006":0,"RM0007":0,"RM0008":0,"RM0009":0,"RM0010":0,"RM1001":0,"RM1002":0,"RM1003":0,"RM1004":0,"RM1005":0,"RM1006":0,"RM1007":0,"RM1008":0,"RM1009":0,"RM1010":0,"RM1011":0,"RM1012":0,"RM1013":0,"RM1014":0,"RM1015":0,"RM1016":0,"RM1017":0,"RM1018":0,"RM1019":0,"RM1020":0,"RM1021":0,"RM1022":0,"RM1023":0,"RM1024":0,"RM1025":0,"riskGrade":0,"creditRating":"","customerStickiness":"","mobileInfo":"","loanAppRating":"","loanAppRating2":0,"institutionType":"","whole_power":0,"consumer_stability":0,"flight_airport_tendency":"","rest_regular":0,"login_period":"","vacation_day_desire":0,"pay_type":"","price_sensitive":0,"plan_prob":0,"odc_prob":0,"city_stable":0,"order_platform":"","destination_tendency":"","car_prob":0,"student_prob":0,"education":"","house_prob":0,"family_prob":0,"platform_reserved_str1":"","platform_reserved_str2":"","platform_reserved_str3":"","platform_reserved_int1":0,"platform_reserved_int2":0,"platform_reserved_int3":0,"platform_reserved_dou1":0,"platform_reserved_dou2":0,"platform_reserved_dou3":0,"occupation":0}},"T07_Pboc_Info":{"pbocv_pboc_flag":1,"pbocv_query_latest_date":"","pbocv_decision_code":"","pbocv_reject_code":"","pbocv_creditblank_flag":"","pbocv_identity_education":"33","pbocv_identity_marriage":"1","pbocv_identity_mobile":"","pbocv_identity_occupation":"","pbocv_basic_disnote_num":0,"pbocv_basic_selfstate_num":0,"pbocv_guarantee_sum_balance":0,"pbocv_fellback_sum_cnt":0,"pbocv_credit_badloan_if":"","pbocv_collectionCnt":0,"pbocv_coll_credloan_his_if":0,"pbocv_coll_credloan_cur_if":0,"pbocv_coll_max_dlqterm":0,"pbocv_credit_max_dlqterm_cur":0,"pbocv_credit_dlqamt_cur":"","pbocv_credit_dlq500upamt_if":"","pbocv_credit_max_dlqamt_cur":0,"pbocv_credit_dlq_mths_p12m":0,"pbocv_credit_max_dlqterm_p3m":0,"pbocv_credit_max_dlqterm_p6m":0,"pbocv_credit_max_dlqterm_p12m":0,"pbocv_credit_max_dlqterm_p24m":0,"pbocv_credit_accum_dlqcnt_p3m":0,"pbocv_credit_accum_dlqcnt_p6m":0,"pbocv_credit_accum_dlqcnt_p12m":0,"pbocv_credit_accum_dlqcnt_p24m":0,"pbocv_cc_record_if":0,"pbocv_cc_1stopenacct_mths":0,"pbocv_cc_1stnormopenacct_mths":0,"pbocv_credit_1stopen_mths":0,"pbocv_credit_1stopenacct_mths":0,"pbocv_cc_unclsed_cnt":0,"pbocv_cc_unclsed_org_cnt":0,"pbocv_cc_bal0up_accts":0,"pbocv_cc_unclsed_sum_creditlmt":0,"pbocv_cc_max_limit":0,"pbocv_cc_min_creditlimit":0,"pbocv_cc_avg_activelmt":0,"pbocv_cc_avg_creditlmt":0,"pbocv_cc_creditlimit_75per":0,"pbocv_cc_sumlimitamt_p6m":0,"pbocv_cc_utlzed_creditline":0,"pbocv_cc_unclsed_avgutllmt_p6m":0,"pbocv_cc_avg_limitrate":0,"pbocv_cc_lmtutlrate_p6m":0,"pbocv_cc_max_lmtutlrate":0,"pbocv_cc_utlrate50up_accts":0,"pbocv_cc_utlrate75up_accts":0,"pbocv_cc_utlrate85up_accts":0,"pbocv_cc_lmtutlrate90up_accts":0,"pbocv_cc_due_amt_inst":0,"pbocv_cc_repayments_amt_inst":0,"pbocv_cc_repayments_pct":0,"pbocv_cc_unclsed_undlqcur_cnt":0,"pbocv_cc_dlq_accts":0,"pbocv_cc_max_dlqterm_cur":0,"pbocv_cc_worst_status_cur":"","pbocv_cc_total_dlqamt_cur":0,"pbocv_cc_max_dlqamt_mthly":0,"pbocv_cc_max_dlqamt_cur":0,"pbocv_cc_500nodelqflg_p6m":"","pbocv_cc_max_dlqterm_p3m":0,"pbocv_cc_max_dlqterm_p6m":0,"pbocv_cc_max_dlqterm_p12m":0,"pbocv_cc_max_dlqterm_p24m":0,"pbocv_cc_accum_dlqcnt_p3m":0,"pbocv_cc_accum_dlqcnt_p6m":0,"pbocv_cc_accum_dlqcnt_p12m":0,"pbocv_cc_accum_dlqcnt_p24m":0,"pbocv_cc_accum_dlq1cnt_p3m":0,"pbocv_cc_accum_dlq1cnt_p6m":0,"pbocv_cc_accum_dlq1cnt_p12m":0,"pbocv_cc_accum_dlq1cnt_p24m":0,"pbocv_cc_accum_dlq2cnt_p3m":0,"pbocv_cc_accum_dlq2cnt_p6m":0,"pbocv_cc_accum_dlq2cnt_p12m":0,"pbocv_cc_accum_dlq2cnt_p24m":0,"pbocv_cc_nodelq30d_p12m":0,"pbocv_cc_nodelq90d_p24m":0,"pbocv_cc_bgstate_p24m":0,"pbocv_flgsccnodelq6m":"","pbocv_scc_nodelq_p6m":0,"pbocv_scc_nodelqcnt_p12m":0,"pbocv_scc_nodelqcnt_p24m":0,"pbocv_scc_nodelq30d_p12m":0,"pbocv_scc_nodelq90d_p24m":0,"pbocv_scc_nodelq180d_p24m":0,"pbocv_scc_bgstate_p24m":0,"pbocv_loan_record_if":0,"pbocv_loan_1stopenacct_mths":0,"pbocv_loan_1stopen_mths":0,"pbocv_loan_house_1stopen_mths":0,"pbocv_loan_car_1stopen_mths":0,"pbocv_bank_loan_cnt":0,"pbocv_nonbank_loan_cnt":0,"pbocv_loan_unclred_cnt_cur":0,"pbocv_loan_sumloanamt_p6m":0,"pbocv_loan_unclred_bal_cur":0,"pbocv_loan_noncarhouse_bal":0,"pbocv_loan_avg_bal":0,"pbocv_loan_payamtmonth":0,"pbocv_loan_unclred_avgdue_p6m":0,"pbocv_loan_otherspayamtmonth":0,"pbocv_loan_total_dlqamt_cur":0,"pbocv_loan_dlq_cnt":0,"pbocv_loan_worst_status_cur":"","pbocv_loan_max_dlqamt_mthly":0,"pbocv_basic_loanovdue_mon":0,"pbocv_basic_loanovdue_maxmon":0,"pbocv_loan_max_dlqterm_cur":0,"pbocv_loan_max_dlqamt_cur":0,"pbocv_loan_nodelqflg_p6m":"","pbocv_loan_max_dlqterm_p3m":0,"pbocv_loan_max_dlqterm_p6m":0,"pbocv_loan_max_dlqterm_p12m":0,"pbocv_loan_max_dlqterm_p24m":0,"pbocv_loan_accum_dlqcnt_p3m":0,"pbocv_loan_accum_dlqcnt_p6m":0,"pbocv_loan_accum_dlqcnt_p12m":0,"pbocv_loan_accum_dlqcnt_p24m":0,"pbocv_loan_accum_dlq1cnt_p3m":0,"pbocv_loan_accum_dlq1cnt_p6m":0,"pbocv_loan_accum_dlq1cnt_p12m":0,"pbocv_loan_accum_dlq1cnt_p24m":0,"pbocv_loan_accum_dlq2cnt_p3m":0,"pbocv_loan_accum_dlq2cnt_p6m":0,"pbocv_loan_accum_dlq2cnt_p12m":0,"pbocv_loan_accum_dlq2cnt_p24m":0,"pbocv_loan_nodelq30d_p12m":0,"pbocv_loan_nodelq90d_p24m":0,"pbocv_loan_zdgbstate_p24m":0,"pbocv_loan_guacredunpaidloanorg":0,"pbocv_loan_guacredunpaidamt":0,"pbocv_warrant_worst_status_cur":"","pbocv_loan_car_cnt":0,"pbocv_loan_house_cnt":0,"pbocv_loan_houseall_cnt":0,"pbocv_loan_other_cnt":0,"pbocv_house_cleared_if":"","pbocv_house_repay_amt_mthly":0,"pbocv_house_cleared_mths":0,"pbocv_car_cleared_if":"","pbocv_car_cleared_mths":0,"pbocv_house_accum_dlq1cnt_p3m":0,"pbocv_house_accum_dlq1cnt_p6m":0,"pbocv_house_accum_dlq1cnt_p12m":0,"pbocv_house_accum_dlq1cnt_p24m":0,"pbocv_house_accum_dlq2cnt_p3m":0,"pbocv_house_accum_dlq2cnt_p6m":0,"pbocv_house_accum_dlq2cnt_p12m":0,"pbocv_house_accum_dlq2cnt_p24m":0,"pbocv_comhs_accum_dlq1cnt_p3m":0,"pbocv_comhs_accum_dlq1cnt_p6m":0,"pbocv_comhs_accum_dlq1cnt_p12m":0,"pbocv_comhs_accum_dlq1cnt_p24m":0,"pbocv_comhs_accum_dlq2cnt_p3m":0,"pbocv_comhs_accum_dlq2cnt_p6m":0,"pbocv_comhs_accum_dlq2cnt_p12m":0,"pbocv_comhs_accum_dlq2cnt_p24m":0,"pbocv_loan_noncrhs_avgamt_p12m":0,"pbocv_loan_noncrhs_orgcnt_p12m":0,"pbocv_loan_comsumerorg_p3m":0,"pbocv_loan_businessorg_p3m":0,"pbocv_loan_fammerorg_p3m":0,"pbocv_cc_creditcardorg_p3m":0,"pbocv_loan_houseorg_p3m":0,"pbocv_studentloanorg3m":0,"pbocv_loan_othersorg_p3m":0,"pbocv_query_if":0,"pbocv_query_prsnl_cnt_p1m":0,"pbocv_query_credit_ltest_mths":0,"pbocv_query_creditappr_cnt_p1m":0,"pbocv_query_creditappr_cnt_p3m":0,"pbocv_query_creditappr_cnt_p6m":0,"pbocv_query_crdtappr_cnt_p12m":0,"pbocv_query_crdtappr_cnt_p24m":0,"pbocv_query_ccappr_cnt_p1m":0,"pbocv_query_ccappr_cnt_p3m":0,"pbocv_query_ccappr_cnt_p6m":0,"pbocv_query_ccappr_cnt_p12m":0,"pbocv_query_ccappr_cnt_p24m":0,"pbocv_query_loanappr_cnt_p1m":0,"pbocv_query_loanappr_cnt_p3m":0,"pbocv_query_loanappr_cnt_p6m":0,"pbocv_query_loanappr_cnt_p12m":0,"pbocv_query_loanappr_cnt_p24m":0,"pbocv_query_orgnum_p1m":0,"pbocv_query_orgnum_p3m":0,"pbocv_query_orgnum_p6m":0,"pbocv_query_orgnum_p12m":0,"pbocv_query_orgnum_p24m":0,"pbocv_query_crd_orgnum_p1m":0,"pbocv_query_crd_orgnum_p3m":0,"pbocv_query_crd_orgnum_p6m":0,"pbocv_query_crd_orgnum_p12m":0,"pbocv_query_crd_orgnum_p24m":0,"pbocv_query_loan_orgnum_p1m":0,"pbocv_query_loan_orgnum_p3m":0,"pbocv_query_loan_orgnum_p6m":0,"pbocv_query_loan_orgnum_p12m":0,"pbocv_query_loan_orgnum_p24m":0,"pbocv_query_guaranchkorg_p1m":0,"pbocv_query_guaranchkorg_p3m":0,"pbocv_query_acceschkorg_p1m":0,"pbocv_query_acceschkorg_p3m":0,"pbocv_fund_latest_status":"","pbocv_fund_ltstdpsit_amt_mthly":0,"pbocv_housefundcompercent":"","pbocv_housefundownpercent":"","pbocv_fund_max_duration_byorg":0,"pbocv_fund_earliest_mths":0,"pbocv_fund_mthstoservic_ratio":0,"pbocv_specialtrade_p5y":0,"pbocv_specialtrade2_p5y":0,"pbocv_basic_asset_num":0,"pbocv_executed_cases":0,"pbocv_credloan_repay_status":"","pbocv_basic_credloan_mon":0,"pbocv_basic_credit_mon":0,"pbocv_credit_dlq_mths_p3m":0,"pbocv_credit_dlq_mths_p6m":0,"pbocv_credit_dlq_mths_p24m":0,"pbocv_cc_max_ovdamt_p6m":0,"pbocv_cc_max_ovdamt_q90d_p24m":0,"pbocv_loan_max_dlqterm_p60m":0,"pbocv_loan_accum_dlqcnt_p60m":0,"pbocv_loan_house_cnt_current":0,"pbocv_cc_max_lmtutlrate2":0,"pbocv_cc_max_dlqterm_p60m":0,"pbocv_scc_max_dlqterm_p3m":0,"pbocv_scc_max_dlqterm_p6m":0,"pbocv_scc_max_dlqterm_p12m":0,"pbocv_scc_max_dlqterm_p24m":0,"pbocv_scc_max_dlqterm_p60m":0,"pbocv_cc_max_ovdamt_q180d_p60m":0,"pbocv_credit_consta_dlqcnt_p3m":0,"pbocv_credit_consta_dlqcnt_p6m":0,"pbocv_credit_conti_dlqcnt_p12m":0,"pbocv_credit_conti_dlqcnt_p24m":0,"pbocv_credit_conti_dlqcnt_p60m":0,"pbocv_credit_maxdlqtermamt_p3m":0,"pbocv_credit_maxdlqtermamt_p6m":0,"pbocv_credit_maxdlqteramt_p12m":0,"pbocv_credit_maxdlqteramt_p24m":0,"pbocv_credit_max_dlqamt_p3m":0,"pbocv_credit_max_dlqamt_p6m":0,"pbocv_credit_max_dlqamt_p12m":0,"pbocv_credit_max_dlqamt_p24m":0,"pbocv_loan_consta_dlqcnt_p3m":0,"pbocv_loan_consta_dlqcnt_p6m":0,"pbocv_loan_consta_dlqcnt_p12m":0,"pbocv_loan_consta_dlqcnt_p24m":0,"pbocv_loan_consta_dlqcnt_p60m":0,"pbocv_loan_maxdlqtermamt_p3m":0,"pbocv_loan_maxdlqtermamt_p6m":0,"pbocv_loan_maxdlqtermamt_p12m":0,"pbocv_loan__maxdlqtermamt_p24m":0,"pbocv_loan_max_dlqamt_p3m":0,"pbocv_loan_max_dlqamt_p6m":0,"pbocv_loan_max_dlqamt_p12m":0,"pbocv_loan_max_dlqamt_p24m":0,"pbocv_cc_consta_dlqcnt_p3m":0,"pbocv_cc_consta_dlqcnt_p6m":0,"pbocv_cc_consta_dlqcnt_p12m":0,"pbocv_cc_consta_dlqcnt_p24m":0,"pbocv_cc_consta_dlqcnt_p60m":0,"pbocv_cc_maxdlqtermamt_p3m":0,"pbocv_cc_maxdlqtermamt_p6m":0,"pbocv_cc_maxdlqtermamt_p12m":0,"pbocv_cc_maxdlqtermamt_p24m":0,"pbocv_cc_max_dlqamt_p3m":0,"pbocv_cc_max_dlqamt_p6m":0,"pbocv_cc_max_dlqamt_p12m":0,"pbocv_cc_max_dlqamt_p24m":0,"pbocv_bankln_guacredunpaidorg":0,"pbocv_nbankln_guacredunpaidorg":0,"pbocv_loan_guacredunpaidavgamt":0,"pbocv_bankln_guacredunpaidamt":0,"pbocv_nbankln_guacredunpaidamt":0,"pbocv_md_c_orgcnt_lmt08_p":0,"pbocv_md_culmt_pctp16":0,"pbocv_md_c_yq_ws_rl6_24m":0,"pbocv_md_l_cnt_l3_12":0,"pbocv_scc_max_dlqterm_cur":0,"pbocv_scc_max_dlqamt_cur":0,"pbocv_scc_max_dlqamt_p12m":0,"pbocv_loan_bad_if":"","pbocv_credit_all_1stopen_mths":0,"pbocv_cc_otsunclsed_sum_crdlmt":0,"pbocv_cc_rmb_unclsed_cnt":0,"pboc_gender":"","pboc_birthday":"","pboc_marriage":"","pboc_edulevel":"","pboc_basic_edudegree":"","pboc_work_status":"","pboc_nationality":"","pboc_email":"","pboc_score":0,"pboc_rank":0,"pboc_identy_mobile1":"","pboc_identy_mobile2":"","pboc_identy_mobile3":"","pboc_identy_mobile4":"","pboc_identy_mobile5":"","pboc_identy_mobile1_date":"","pboc_identy_mobile2_date":"","pboc_identy_mobile3_date":"","pboc_identy_mobile4_date":"","pboc_identy_mobile5_date":"","pboc_identy_officephone1":"","pboc_identy_officephone2":"","pboc_identy_officephone3":"","pboc_identy_officephone4":"","pboc_identy_officephone5":"","pboc_identy_homephone1":"","pboc_identy_homephone2":"","pboc_identy_homephone3":"","pboc_identy_homephone4":"","pboc_identy_homephone5":"","pboc_identy_postaddr":"","pboc_identy_householdaddr":"","pboc_identy_spouse_id":"","pboc_identy_spouse_comp":"","pboc_identy_spouse_mobile":"","pboc_reside_addr1":"","pboc_reside_addr2":"","pboc_reside_addr3":"","pboc_reside_addr4":"","pboc_reside_addr5":"","pboc_reside_update1":"","pboc_reside_update2":"","pboc_reside_update3":"","pboc_reside_update4":"","pboc_reside_update5":"","pboc_career_comp1":"","pboc_career_comp2":"","pboc_career_comp3":"","pboc_career_comp4":"","pboc_career_comp5":"","pboc_career_comp1_kind":"","pboc_career_comp2_kind":"","pboc_career_comp3_kind":"","pboc_career_comp4_kind":"","pboc_career_comp5_kind":"","pboc_career_compaddr1":"","pboc_career_compaddr2":"","pboc_career_compaddr3":"","pboc_career_compaddr4":"","pboc_career_compaddr5":"","pboc_career_joinyear1":"","pboc_career_joinyear2":"","pboc_career_joinyear3":"","pboc_career_joinyear4":"","pboc_career_joinyear5":"","pboc_career_update1":"","pboc_career_update2":"","pboc_career_update3":"","pboc_career_update4":"","pboc_career_update5":"","pboc_hfund_comp1":"","pboc_hfund_comp2":"","pboc_hfund_comp3":"","pboc_hfund_comp4":"","pboc_hfund_comp5":"","pboc_hfund_update1":"","pboc_hfund_update2":"","pboc_hfund_update3":"","pboc_hfund_update4":"","pboc_hfund_update5":"","pboc_warrant_num_p":0,"pboc_warrant_amt_p":0,"pboc_warrant_bal_p":0,"pboc_related_duty_num_p":0,"pboc_related_duty_amt_p":0,"pboc_related_duty_bal_p":0,"pboc_warrant_num_e":0,"pboc_warrant_amt_e":0,"pboc_warrant_bal_e":0,"pboc_related_duty_num_e":0,"pboc_related_duty_amt_e":0,"pboc_related_duty_bal_e":0,"pboc_houseloan_num":0,"pboc_busiloan_num":0,"pboc_otherloan_num":0,"pboc_cc_num":0,"pboc_scc_num":0,"pboc_else_num":0,"pboc_houseloan_1st_mth":"","pboc_busiloan_1st_mth":"","pboc_otherloan_1st_mth":"","pboc_cc_1st_mth":"","pboc_scc_1st_mth":"","pboc_else_1st_mth":"","pboc_basic_bad_num":0,"pboc_basic_bad_bal":0,"pboc_basic_asset_num":0,"pboc_basic_assetdsp_bal":0,"pboc_basic_dk_num":0,"pboc_basic_dk_bal":0,"pboc_od_nrvlv_loan_num":0,"pboc_od_nrvlv_loan_mth":0,"pboc_od_nrvlv_loan_maxod_amt":0,"pboc_od_nrvlv_loan_maxod_mth":0,"pboc_od_rvlv_credit_num":0,"pboc_od_rvlv_credit_mth":0,"pboc_od_rvlv_credit_maxod_amt":0,"pboc_od_rvlv_credit_maxod_mth":0,"pboc_od_rvlv_loan_num":0,"pboc_od_rvlv_loan_mth":0,"pboc_od_rvlv_loan_maxod_amt":0,"pboc_od_rvlv_loan_maxod_mth":0,"pboc_od_cc_num":0,"pboc_od_cc_mth":0,"pboc_od_cc_maxod_amt":0,"pboc_od_cc_maxod_mth":0,"pboc_od_scc_num":0,"pboc_od_scc_mth":0,"pboc_od_scc_maxod_amt":0,"pboc_od_scc_maxod_mth":0,"pboc_acct_nrvlv_loan_orgs":0,"pboc_acct_nrvlv_loan_num":0,"pboc_acct_nrvlv_loan_amt_sum":0,"pboc_acct_nrvlv_loan_bal":0,"pboc_acct_nrvlv_ln_avgrp_in6m":0,"pboc_acct_nrvlv_credit_orgs":0,"pboc_acct_nrvlv_credit_num":0,"pboc_acct_nrvlv_credit_amt_sum":0,"pboc_acct_nrvlv_credit_bal":0,"pboc_acct_nrvlv_cre_avgrp_in6m":0,"pboc_acct_rvlv_loan_orgs":0,"pboc_acct_rvlv_loan_num":0,"pboc_acct_rvlv_loan_amt_sum":0,"pboc_acct_rvlv_loan_bal":0,"pboc_acct_rvlv_loan_avgrp_in6m":0,"pboc_acct_cc_orgs":0,"pboc_acct_cc_num":0,"pboc_acct_cc_amt_sum":0,"pboc_acct_cc_amt_max":0,"pboc_acct_cc_amt_min":0,"pboc_acct_cc_amt_used":0,"pboc_acct_cc_avg_useamt_in6m":0,"pboc_acct_scc_orgs":0,"pboc_acct_scc_num":0,"pboc_acct_scc_amt_sum":0,"pboc_acct_scc_amt_max":0,"pboc_acct_scc_amt_min":0,"pboc_acct_scc_amt_used":0,"pboc_acct_scc_avg_useamt_in6m":0,"pboc_deq_telecom_num":0,"pboc_deq_telecom_amt":0,"pboc_pub_tax_num":0,"pboc_pub_tax_amt":0,"pboc_pub_mspj_num":0,"pboc_pub_mspj_amt":0,"pboc_pub_qzzx_num":0,"pboc_pub_qzzx_amt":0,"pboc_pub_xzcf_num":0,"pboc_pub_xzcf_amt":0,"pboc_inq_orgsin1m_loan":0,"pboc_inq_orgsin1m_cc":0,"pboc_inq_numin1m_loan":0,"pboc_inq_numin1m_cc":0,"pboc_inq_numin1m_self":0,"pboc_inq_numin2y_port":0,"pboc_inq_numin2y_warrant":0,"pboc_inq_numin2y_merchant":0,"pboc_pub_zlsqf_num":0,"pboc_pub_zlsqf_amt":0},"DerivedVariables":{"derived_random_nbr":44}}
Would need a stand-alone test case that has no external dependencies: cannot be part of Spring Boot project (for example). This is necessary to rule out possibility that something in another library/framework is causing the problem.
As is, unfortunately I cannot reproduce the issue: I do not have time to dig into provided test case at this point.
I'll leave the issue open if anyone else has time or insight into whatever the problem might be.
nextToken and currentToken question,We have perfected the use, thanks!
@dylan-tao Ok thank you for the update, best of luck!