Java Gson流式api未读取整个文档

Java Gson流式api未读取整个文档,java,json,gson,Java,Json,Gson,我有一个无效的json。但我仍然需要通过解析或其他方式进行解析。 以下是json: {"priceAgreementLineDetails":[{"catalogue":{"assetClassDetails":[{}],"assetClassRequired":null,"baseUnitofMeasure":"PMI","bomParent":"

我有一个无效的json。但我仍然需要通过解析或其他方式进行解析。 以下是json:

{"priceAgreementLineDetails":[{"catalogue":{"assetClassDetails":[{}],"assetClassRequired":null,"baseUnitofMeasure":"PMI","bomParent":"Yes","commodityCodeTaric":"84158200","enLanguageKey":"EN","enMaterialLongText":"Lenovo Privacy Filter for 14" Notebooks ( L, T and X1 Carbon)"","grossWeightInKg":null,"height":null,"heightLengthWidthUnit":null,"length":null,"manufacturerPartNumber":"","materialLongDescription":"Lenovo Privacy Filter for 14" Notebooks ( L, T and X1 Carbon)"","physicalCategory":"Physical","volume":null,"volumeUnit":null,"width":null,"xxLanguageKey":null,"xxMaterialLongText":null},"catalogueStatus":"ACTIVE","catalogueStatusTimestamp":"2021-05-11T04:34:52.097Z","comment":null,"commercial":{"appliedVoucher":null,"commitmentDateCategory":null,"discountDateCategory":"custom","manufacturer":"test123","materialDescription":"dsds","materialGroupL4":"K205 - ERP Software & Licenses","netPrice":"7000.00","plannedDeliveryTime":"3","priceAdjustments":null,"priceBookCurrency":"EUR","priceErosionDetails":[{"discount":"5.00","validFrom":"2017-06-01T12:00:00.000Z","validTo":"2022-06-01T12:00:00.000Z"}],"priceUnit":"1","sapContractLineId":"1","supplierPartNumber":"TESTING12321","validFromDate":"2017-06-01T12:00:00.000Z","validToDate":"2022-06-01T12:00:00.000Z","volumeCommitment":null,"volumeDiscounts":null,"volumeTierDiscounts":null},"customGroup":null,"index":null,"isDeleted":false,"isReviewed":true,"lastSaveBy":null,"lastSaveDateTime":null,"lineStatus":"COMPLETE","priceReference":"Purchase Order Date"},{"catalogue":{"assetClassDetails":[{}],"assetClassRequired":null,"baseUnitofMeasure":"PMI","bomParent":"Yes","commodityCodeTaric":"84158200","enLanguageKey":"EN","enMaterialLongText":"(ksjdiusd)","grossWeightInKg":null,"height":null,"heightLengthWidthUnit":null,"length":null,"manufacturerPartNumber":"","materialLongDescription":"(ksjdiusd)","physicalCategory":"Physical","volume":null,"volumeUnit":null,"width":null,"xxLanguageKey":null,"xxMaterialLongText":null},"catalogueStatus":"ACTIVE","catalogueStatusTimestamp":"2021-05-11T04:34:52.097Z","comment":null,"commercial":{"appliedVoucher":null,"commitmentDateCategory":null,"discountDateCategory":null,"manufacturer":"test123","materialDescription":"dsds1","materialGroupL4":"K103 - Customer Management (Billing & CRM) Software & Licenses etc.","netPrice":"5000.00","plannedDeliveryTime":"3","priceAdjustments":null,"priceBookCurrency":"EUR","priceErosionDetails":null,"priceUnit":"1","sapContractLineId":"2","supplierPartNumber":"TESTING123421","validFromDate":"2017-06-01T12:00:00.000Z","validToDate":"2022-06-01T12:00:00.000Z","volumeCommitment":null,"volumeDiscounts":null,"volumeTierDiscounts":null},"customGroup":null,"index":null,"isDeleted":false,"isReviewed":true,"lastSaveBy":null,"lastSaveDateTime":null,"lineStatus":"COMPLETE","priceReference":null},{"catalogue":{"assetClassDetails":[{}],"assetClassRequired":null,"baseUnitofMeasure":"PMI","bomParent":"Yes","commodityCodeTaric":"84158200","enLanguageKey":"EN","enMaterialLongText":"(ks) "di"","grossWeightInKg":null,"height":null,"heightLengthWidthUnit":null,"length":null,"manufacturerPartNumber":"","materialLongDescription":"(ks) "di"","physicalCategory":"Physical","volume":null,"volumeUnit":null,"width":null,"xxLanguageKey":null,"xxMaterialLongText":null},"catalogueStatus":"ACTIVE","catalogueStatusTimestamp":"2021-05-11T04:34:54.353Z","comment":null,"commercial":{"appliedVoucher":null,"commitmentDateCategory":null,"discountDateCategory":null,"manufacturer":"test123","materialDescription":"dsds2","materialGroupL4":"K103 - Customer Management (Billing & CRM) Software & Licenses etc.","netPrice":"5000.00","plannedDeliveryTime":"3","priceAdjustments":null,"priceBookCurrency":"EUR","priceErosionDetails":null,"priceUnit":"1","sapContractLineId":"2","supplierPartNumber":"UHDUSD","validFromDate":"2017-06-01T12:00:00.000Z","validToDate":"2022-06-01T12:00:00.000Z","volumeCommitment":null,"volumeDiscounts":null,"volumeTierDiscounts":null},"customGroup":null,"index":null,"isDeleted":false,"isReviewed":true,"lastSaveBy":null,"lastSaveDateTime":null,"lineStatus":"COMPLETE","priceReference":null},{"catalogue":{"assetClassDetails":[{}],"assetClassRequired":null,"baseUnitofMeasure":"PMI","bomParent":"Yes","commodityCodeTaric":"84158200","enLanguageKey":"EN","enMaterialLongText":"(ksjd , iusd)","grossWeightInKg":null,"height":null,"heightLengthWidthUnit":null,"length":null,"manufacturerPartNumber":"","materialLongDescription":"(ksjd , iusd)","physicalCategory":"Physical","volume":null,"volumeUnit":null,"width":null,"xxLanguageKey":null,"xxMaterialLongText":null},"catalogueStatus":"ACTIVE","catalogueStatusTimestamp":"2021-05-11T04:35:04.574Z","comment":null,"commercial":{"appliedVoucher":null,"commitmentDateCategory":null,"discountDateCategory":null,"manufacturer":"test123","materialDescription":"dsds3","materialGroupL4":"K103 - Customer Management (Billing & CRM) Software & Licenses etc.","netPrice":"6000.00","plannedDeliveryTime":"3","priceAdjustments":null,"priceBookCurrency":"EUR","priceErosionDetails":null,"priceUnit":"1","sapContractLineId":"2","supplierPartNumber":"DSDSDJJ","validFromDate":"2017-06-01T12:00:00.000Z","validToDate":"2022-06-01T12:00:00.000Z","volumeCommitment":null,"volumeDiscounts":null,"volumeTierDiscounts":null},"customGroup":null,"index":null,"isDeleted":false,"isReviewed":true,"lastSaveBy":null,"lastSaveDateTime":null,"lineStatus":"COMPLETE","priceReference":null},{"catalogue":{"assetClassDetails":[{}],"assetClassRequired":null,"baseUnitofMeasure":"PMI","bomParent":"Yes","commodityCodeTaric":"84158200","enLanguageKey":"EN","enMaterialLongText":"(ksjd ) ,( iusd)","grossWeightInKg":null,"height":null,"heightLengthWidthUnit":null,"length":null,"manufacturerPartNumber":"","materialLongDescription":"(ksjd ) ,( iusd)","physicalCategory":"Physical","volume":null,"volumeUnit":null,"width":null,"xxLanguageKey":null,"xxMaterialLongText":null},"catalogueStatus":"ACTIVE","catalogueStatusTimestamp":"2021-05-11T04:34:52.097Z","comment":null,"commercial":{"appliedVoucher":null,"commitmentDateCategory":null,"discountDateCategory":null,"manufacturer":"test123","materialDescription":"dsds4","materialGroupL4":"K103 - Customer Management (Billing & CRM) Software & Licenses etc.","netPrice":"5000.00","plannedDeliveryTime":"3","priceAdjustments":null,"priceBookCurrency":"EUR","priceErosionDetails":null,"priceUnit":"1","sapContractLineId":"2","supplierPartNumber":"TEST1","validFromDate":"2017-06-01T12:00:00.000Z","validToDate":"2022-06-01T12:00:00.000Z","volumeCommitment":null,"volumeDiscounts":null,"volumeTierDiscounts":null},"customGroup":null,"index":null,"isDeleted":false,"isReviewed":true,"lastSaveBy":null,"lastSaveDateTime":null,"lineStatus":"COMPLETE","priceReference":null},{"catalogue":{"assetClassDetails":[{}],"assetClassRequired":null,"baseUnitofMeasure":"PMI","bomParent":"Yes","commodityCodeTaric":"84158200","enLanguageKey":"EN","enMaterialLongText":"(ksjd) & " iusd"","grossWeightInKg":null,"height":null,"heightLengthWidthUnit":null,"length":null,"manufacturerPartNumber":"","materialLongDescription":"(ksjd) & " iusd"","physicalCategory":"Physical","volume":null,"volumeUnit":null,"width":null,"xxLanguageKey":null,"xxMaterialLongText":null},"catalogueStatus":"ACTIVE","catalogueStatusTimestamp":"2021-05-11T04:34:52.097Z","comment":null,"commercial":{"appliedVoucher":null,"commitmentDateCategory":null,"discountDateCategory":null,"manufacturer":"test123","materialDescription":"dsds5","materialGroupL4":"K103 - Customer Management (Billing & CRM) Software & Licenses etc.","netPrice":"5000.00","plannedDeliveryTime":"3","priceAdjustments":null,"priceBookCurrency":"EUR","priceErosionDetails":null,"priceUnit":"1","sapContractLineId":"2","supplierPartNumber":"1233","validFromDate":"2017-06-01T12:00:00.000Z","validToDate":"2022-06-01T12:00:00.000Z","volumeCommitment":null,"volumeDiscounts":null,"volumeTierDiscounts":null},"customGroup":null,"index":null,"isDeleted":false,"isReviewed":true,"lastSaveBy":null,"lastSaveDateTime":null,"lineStatus":"COMPLETE","priceReference":null}],"priceAgreementStatusTimestamp":"2021-05-11T04:36:52.000Z","priceAgreementStatus":"APPROVED","lastSaveBy":"cba089b2-807e-4924-806a-3105aa46cd70","lastSaveByOrganisation":"vodafoneMSP","lastSubmittedByOrganisation":"vodafoneMSP","lastSubmittedDateTime":"2021-05-11T04:35:14.000Z","lastSaveDateTime":"2021-05-11T04:36:52.000Z","version":"2","catalogueStatusTimestamp":"2021-05-11T04:36:52.000Z","catalogueStatus":"ACTIVE","exchangeRate":null,"conversionRateReference":null,"conversionChangeFrequency":null,"createdBy":"cba089b2-807e-4924-806a-3105aa46cd70","createdByOrganization":"vodafoneMSP","action":null,"creationTimestamp":"2021-05-10T11:14:12.000Z","type":"priceAgreement","counter":"8","requestForRevision":false,"materialCodeList":["K205 - ERP Software & Licenses","K103 - Customer Management (Billing & CRM) Software & Licenses etc."],"masterAgreement":{"type":"masterAgreement","catalogueType":"IT&E","duplicationCode":"ES00","masterAgreementId":"ERP2017MA005108","masterAgreementName":"NA","materialL4Details":[{"materialGroupL4Desc":"K205 - ERP Software & Licenses","materialGroupL4Id":"K205","olaLineItemId":"1","sirionLineItemId":null},{"materialGroupL4Desc":"K103 - Customer Management (Billing & CRM) Software & Licenses etc.","materialGroupL4Id":"K103","olaLineItemId":"2","sirionLineItemId":null},{"materialGroupL4Desc":"B218 - Customer Management (Billing & CRM) Systems & Software Maintenance, Support incl. SaaS","materialGroupL4Id":"B218","olaLineItemId":"4","sirionLineItemId":null}],"opcoCode":"LU68","opcoName":"Spain","organizationId":"oracle","outlineAgreementNumber":"1250027399","parentSupplier":"ORACLE CORPORATION UK LIMITED","purchasingIncoterm":"-","purchasingOrg":"LU07 - VF POrg Luxembourg","purchasingOrgCode":"LU07","supplierId":"0400017770","supplierName":"ORACLE CORPORATION UK LIMITED","tradingCurrencyKey":"EUR","tradingModel":"Buy From","validFromDate":"2017-06-01T00:00:00.000Z","validToDate":"2022-06-01T00:00:00.000Z","priceAgreementMetadata":{"catalogueType":"IT&E","catalogueName":"VPC_BF_IT_ORA_VFES_ICT_400017770_D76A18D","catalogueDescription":null,"priceAgreementReferenceName":"VPC_BF_IT_ORA_VFES_ICT_400017770_D76A18D","priceAgreementSupplierReferenceName":"VPC_BF_IT_ORA_VFES_ICT_400017770_D76A18D","catalogueGroup":"ES IT Catalogues - ES_IT_mask","initialCategoryManagerEmail":"cba089b2-807e-4924-806a-3105aa46cd70","initialSupplierManagerEmail":"fa52bb7d-63d8-43c6-8908-39387edb39f1"}},"priceAgreementId":"VPC_BF_IT_ORA_VFES_ICT_400017770_D76A18D"}
这是我的java 8代码:

public static void main(String aa[]) {
    String test = "{\"priceAgreementLineDetails\":[{\"catalogue\":{\"assetClassDetails\":[{}],\"assetClassRequired\":null,\"baseUnitofMeasure\":\"PMI\",\"bomParent\":\"Yes\",\"commodityCodeTaric\":\"84158200\",\"enLanguageKey\":\"EN\",\"enMaterialLongText\":\"Lenovo Privacy Filter for 14\" Notebooks ( L, T and X1 Carbon)\"\",\"grossWeightInKg\":null,\"height\":null,\"heightLengthWidthUnit\":null,\"length\":null,\"manufacturerPartNumber\":\"\",\"materialLongDescription\":\"Lenovo Privacy Filter for 14\" Notebooks ( L, T and X1 Carbon)\"\",\"physicalCategory\":\"Physical\",\"volume\":null,\"volumeUnit\":null,\"width\":null,\"xxLanguageKey\":null,\"xxMaterialLongText\":null},\"catalogueStatus\":\"ACTIVE\",\"catalogueStatusTimestamp\":\"2021-05-11T04:34:52.097Z\",\"comment\":null,\"commercial\":{\"appliedVoucher\":null,\"commitmentDateCategory\":null,\"discountDateCategory\":\"custom\",\"manufacturer\":\"test123\",\"materialDescription\":\"dsds\",\"materialGroupL4\":\"K205 - ERP Software & Licenses\",\"netPrice\":\"7000.00\",\"plannedDeliveryTime\":\"3\",\"priceAdjustments\":null,\"priceBookCurrency\":\"EUR\",\"priceErosionDetails\":[{\"discount\":\"5.00\",\"validFrom\":\"2017-06-01T12:00:00.000Z\",\"validTo\":\"2022-06-01T12:00:00.000Z\"}],\"priceUnit\":\"1\",\"sapContractLineId\":\"1\",\"supplierPartNumber\":\"TESTING12321\",\"validFromDate\":\"2017-06-01T12:00:00.000Z\",\"validToDate\":\"2022-06-01T12:00:00.000Z\",\"volumeCommitment\":null,\"volumeDiscounts\":null,\"volumeTierDiscounts\":null},\"customGroup\":null,\"index\":null,\"isDeleted\":false,\"isReviewed\":true,\"lastSaveBy\":null,\"lastSaveDateTime\":null,\"lineStatus\":\"COMPLETE\",\"priceReference\":\"Purchase Order Date\"},{\"catalogue\":{\"assetClassDetails\":[{}],\"assetClassRequired\":null,\"baseUnitofMeasure\":\"PMI\",\"bomParent\":\"Yes\",\"commodityCodeTaric\":\"84158200\",\"enLanguageKey\":\"EN\",\"enMaterialLongText\":\"(ksjdiusd)\",\"grossWeightInKg\":null,\"height\":null,\"heightLengthWidthUnit\":null,\"length\":null,\"manufacturerPartNumber\":\"\",\"materialLongDescription\":\"(ksjdiusd)\",\"physicalCategory\":\"Physical\",\"volume\":null,\"volumeUnit\":null,\"width\":null,\"xxLanguageKey\":null,\"xxMaterialLongText\":null},\"catalogueStatus\":\"ACTIVE\",\"catalogueStatusTimestamp\":\"2021-05-11T04:34:52.097Z\",\"comment\":null,\"commercial\":{\"appliedVoucher\":null,\"commitmentDateCategory\":null,\"discountDateCategory\":null,\"manufacturer\":\"test123\",\"materialDescription\":\"dsds1\",\"materialGroupL4\":\"K103 - Customer Management (Billing & CRM) Software & Licenses etc.\",\"netPrice\":\"5000.00\",\"plannedDeliveryTime\":\"3\",\"priceAdjustments\":null,\"priceBookCurrency\":\"EUR\",\"priceErosionDetails\":null,\"priceUnit\":\"1\",\"sapContractLineId\":\"2\",\"supplierPartNumber\":\"TESTING123421\",\"validFromDate\":\"2017-06-01T12:00:00.000Z\",\"validToDate\":\"2022-06-01T12:00:00.000Z\",\"volumeCommitment\":null,\"volumeDiscounts\":null,\"volumeTierDiscounts\":null},\"customGroup\":null,\"index\":null,\"isDeleted\":false,\"isReviewed\":true,\"lastSaveBy\":null,\"lastSaveDateTime\":null,\"lineStatus\":\"COMPLETE\",\"priceReference\":null},{\"catalogue\":{\"assetClassDetails\":[{}],\"assetClassRequired\":null,\"baseUnitofMeasure\":\"PMI\",\"bomParent\":\"Yes\",\"commodityCodeTaric\":\"84158200\",\"enLanguageKey\":\"EN\",\"enMaterialLongText\":\"(ks) \"di\"\",\"grossWeightInKg\":null,\"height\":null,\"heightLengthWidthUnit\":null,\"length\":null,\"manufacturerPartNumber\":\"\",\"materialLongDescription\":\"(ks) \"di\"\",\"physicalCategory\":\"Physical\",\"volume\":null,\"volumeUnit\":null,\"width\":null,\"xxLanguageKey\":null,\"xxMaterialLongText\":null},\"catalogueStatus\":\"ACTIVE\",\"catalogueStatusTimestamp\":\"2021-05-11T04:34:54.353Z\",\"comment\":null,\"commercial\":{\"appliedVoucher\":null,\"commitmentDateCategory\":null,\"discountDateCategory\":null,\"manufacturer\":\"test123\",\"materialDescription\":\"dsds2\",\"materialGroupL4\":\"K103 - Customer Management (Billing & CRM) Software & Licenses etc.\",\"netPrice\":\"5000.00\",\"plannedDeliveryTime\":\"3\",\"priceAdjustments\":null,\"priceBookCurrency\":\"EUR\",\"priceErosionDetails\":null,\"priceUnit\":\"1\",\"sapContractLineId\":\"2\",\"supplierPartNumber\":\"UHDUSD\",\"validFromDate\":\"2017-06-01T12:00:00.000Z\",\"validToDate\":\"2022-06-01T12:00:00.000Z\",\"volumeCommitment\":null,\"volumeDiscounts\":null,\"volumeTierDiscounts\":null},\"customGroup\":null,\"index\":null,\"isDeleted\":false,\"isReviewed\":true,\"lastSaveBy\":null,\"lastSaveDateTime\":null,\"lineStatus\":\"COMPLETE\",\"priceReference\":null},{\"catalogue\":{\"assetClassDetails\":[{}],\"assetClassRequired\":null,\"baseUnitofMeasure\":\"PMI\",\"bomParent\":\"Yes\",\"commodityCodeTaric\":\"84158200\",\"enLanguageKey\":\"EN\",\"enMaterialLongText\":\"(ksjd , iusd)\",\"grossWeightInKg\":null,\"height\":null,\"heightLengthWidthUnit\":null,\"length\":null,\"manufacturerPartNumber\":\"\",\"materialLongDescription\":\"(ksjd , iusd)\",\"physicalCategory\":\"Physical\",\"volume\":null,\"volumeUnit\":null,\"width\":null,\"xxLanguageKey\":null,\"xxMaterialLongText\":null},\"catalogueStatus\":\"ACTIVE\",\"catalogueStatusTimestamp\":\"2021-05-11T04:35:04.574Z\",\"comment\":null,\"commercial\":{\"appliedVoucher\":null,\"commitmentDateCategory\":null,\"discountDateCategory\":null,\"manufacturer\":\"test123\",\"materialDescription\":\"dsds3\",\"materialGroupL4\":\"K103 - Customer Management (Billing & CRM) Software & Licenses etc.\",\"netPrice\":\"6000.00\",\"plannedDeliveryTime\":\"3\",\"priceAdjustments\":null,\"priceBookCurrency\":\"EUR\",\"priceErosionDetails\":null,\"priceUnit\":\"1\",\"sapContractLineId\":\"2\",\"supplierPartNumber\":\"DSDSDJJ\",\"validFromDate\":\"2017-06-01T12:00:00.000Z\",\"validToDate\":\"2022-06-01T12:00:00.000Z\",\"volumeCommitment\":null,\"volumeDiscounts\":null,\"volumeTierDiscounts\":null},\"customGroup\":null,\"index\":null,\"isDeleted\":false,\"isReviewed\":true,\"lastSaveBy\":null,\"lastSaveDateTime\":null,\"lineStatus\":\"COMPLETE\",\"priceReference\":null},{\"catalogue\":{\"assetClassDetails\":[{}],\"assetClassRequired\":null,\"baseUnitofMeasure\":\"PMI\",\"bomParent\":\"Yes\",\"commodityCodeTaric\":\"84158200\",\"enLanguageKey\":\"EN\",\"enMaterialLongText\":\"(ksjd ) ,( iusd)\",\"grossWeightInKg\":null,\"height\":null,\"heightLengthWidthUnit\":null,\"length\":null,\"manufacturerPartNumber\":\"\",\"materialLongDescription\":\"(ksjd ) ,( iusd)\",\"physicalCategory\":\"Physical\",\"volume\":null,\"volumeUnit\":null,\"width\":null,\"xxLanguageKey\":null,\"xxMaterialLongText\":null},\"catalogueStatus\":\"ACTIVE\",\"catalogueStatusTimestamp\":\"2021-05-11T04:34:52.097Z\",\"comment\":null,\"commercial\":{\"appliedVoucher\":null,\"commitmentDateCategory\":null,\"discountDateCategory\":null,\"manufacturer\":\"test123\",\"materialDescription\":\"dsds4\",\"materialGroupL4\":\"K103 - Customer Management (Billing & CRM) Software & Licenses etc.\",\"netPrice\":\"5000.00\",\"plannedDeliveryTime\":\"3\",\"priceAdjustments\":null,\"priceBookCurrency\":\"EUR\",\"priceErosionDetails\":null,\"priceUnit\":\"1\",\"sapContractLineId\":\"2\",\"supplierPartNumber\":\"TEST1\",\"validFromDate\":\"2017-06-01T12:00:00.000Z\",\"validToDate\":\"2022-06-01T12:00:00.000Z\",\"volumeCommitment\":null,\"volumeDiscounts\":null,\"volumeTierDiscounts\":null},\"customGroup\":null,\"index\":null,\"isDeleted\":false,\"isReviewed\":true,\"lastSaveBy\":null,\"lastSaveDateTime\":null,\"lineStatus\":\"COMPLETE\",\"priceReference\":null},{\"catalogue\":{\"assetClassDetails\":[{}],\"assetClassRequired\":null,\"baseUnitofMeasure\":\"PMI\",\"bomParent\":\"Yes\",\"commodityCodeTaric\":\"84158200\",\"enLanguageKey\":\"EN\",\"enMaterialLongText\":\"(ksjd) & \" iusd\"\",\"grossWeightInKg\":null,\"height\":null,\"heightLengthWidthUnit\":null,\"length\":null,\"manufacturerPartNumber\":\"\",\"materialLongDescription\":\"(ksjd) & \" iusd\"\",\"physicalCategory\":\"Physical\",\"volume\":null,\"volumeUnit\":null,\"width\":null,\"xxLanguageKey\":null,\"xxMaterialLongText\":null},\"catalogueStatus\":\"ACTIVE\",\"catalogueStatusTimestamp\":\"2021-05-11T04:34:52.097Z\",\"comment\":null,\"commercial\":{\"appliedVoucher\":null,\"commitmentDateCategory\":null,\"discountDateCategory\":null,\"manufacturer\":\"test123\",\"materialDescription\":\"dsds5\",\"materialGroupL4\":\"K103 - Customer Management (Billing & CRM) Software & Licenses etc.\",\"netPrice\":\"5000.00\",\"plannedDeliveryTime\":\"3\",\"priceAdjustments\":null,\"priceBookCurrency\":\"EUR\",\"priceErosionDetails\":null,\"priceUnit\":\"1\",\"sapContractLineId\":\"2\",\"supplierPartNumber\":\"1233\",\"validFromDate\":\"2017-06-01T12:00:00.000Z\",\"validToDate\":\"2022-06-01T12:00:00.000Z\",\"volumeCommitment\":null,\"volumeDiscounts\":null,\"volumeTierDiscounts\":null},\"customGroup\":null,\"index\":null,\"isDeleted\":false,\"isReviewed\":true,\"lastSaveBy\":null,\"lastSaveDateTime\":null,\"lineStatus\":\"COMPLETE\",\"priceReference\":null}],\"priceAgreementStatusTimestamp\":\"2021-05-11T04:36:52.000Z\",\"priceAgreementStatus\":\"APPROVED\",\"lastSaveBy\":\"cba089b2-807e-4924-806a-3105aa46cd70\",\"lastSaveByOrganisation\":\"vodafoneMSP\",\"lastSubmittedByOrganisation\":\"vodafoneMSP\",\"lastSubmittedDateTime\":\"2021-05-11T04:35:14.000Z\",\"lastSaveDateTime\":\"2021-05-11T04:36:52.000Z\",\"version\":\"2\",\"catalogueStatusTimestamp\":\"2021-05-11T04:36:52.000Z\",\"catalogueStatus\":\"ACTIVE\",\"exchangeRate\":null,\"conversionRateReference\":null,\"conversionChangeFrequency\":null,\"createdBy\":\"cba089b2-807e-4924-806a-3105aa46cd70\",\"createdByOrganization\":\"vodafoneMSP\",\"action\":null,\"creationTimestamp\":\"2021-05-10T11:14:12.000Z\",\"type\":\"priceAgreement\",\"counter\":\"8\",\"requestForRevision\":false,\"materialCodeList\":[\"K205 - ERP Software & Licenses\",\"K103 - Customer Management (Billing & CRM) Software & Licenses etc.\"],\"masterAgreement\":{\"type\":\"masterAgreement\",\"catalogueType\":\"IT&E\",\"duplicationCode\":\"ES00\",\"masterAgreementId\":\"ERP2017MA005108\",\"masterAgreementName\":\"NA\",\"materialL4Details\":[{\"materialGroupL4Desc\":\"K205 - ERP Software & Licenses\",\"materialGroupL4Id\":\"K205\",\"olaLineItemId\":\"1\",\"sirionLineItemId\":null},{\"materialGroupL4Desc\":\"K103 - Customer Management (Billing & CRM) Software & Licenses etc.\",\"materialGroupL4Id\":\"K103\",\"olaLineItemId\":\"2\",\"sirionLineItemId\":null},{\"materialGroupL4Desc\":\"B218 - Customer Management (Billing & CRM) Systems & Software Maintenance, Support incl. SaaS\",\"materialGroupL4Id\":\"B218\",\"olaLineItemId\":\"4\",\"sirionLineItemId\":null}],\"opcoCode\":\"LU68\",\"opcoName\":\"Spain\",\"organizationId\":\"oracle\",\"outlineAgreementNumber\":\"1250027399\",\"parentSupplier\":\"ORACLE CORPORATION UK LIMITED\",\"purchasingIncoterm\":\"-\",\"purchasingOrg\":\"LU07 - VF POrg Luxembourg\",\"purchasingOrgCode\":\"LU07\",\"supplierId\":\"0400017770\",\"supplierName\":\"ORACLE CORPORATION UK LIMITED\",\"tradingCurrencyKey\":\"EUR\",\"tradingModel\":\"Buy From\",\"validFromDate\":\"2017-06-01T00:00:00.000Z\",\"validToDate\":\"2022-06-01T00:00:00.000Z\",\"priceAgreementMetadata\":{\"catalogueType\":\"IT&E\",\"catalogueName\":\"VPC_BF_IT_ORA_VFES_ICT_400017770_D76A18D\",\"catalogueDescription\":null,\"priceAgreementReferenceName\":\"VPC_BF_IT_ORA_VFES_ICT_400017770_D76A18D\",\"priceAgreementSupplierReferenceName\":\"VPC_BF_IT_ORA_VFES_ICT_400017770_D76A18D\",\"catalogueGroup\":\"ES IT Catalogues - ES_IT_mask\",\"initialCategoryManagerEmail\":\"cba089b2-807e-4924-806a-3105aa46cd70\",\"initialSupplierManagerEmail\":\"fa52bb7d-63d8-43c6-8908-39387edb39f1\"}},\"priceAgreementId\":\"VPC_BF_IT_ORA_VFES_ICT_400017770_D76A18D\"}";
    JsonReader jsonReader = new JsonReader(new StringReader(test));
    jsonReader.setLenient(true);
    try
    {
        while (jsonReader.hasNext()) 
        {
            JsonToken nextToken = jsonReader.peek();
             
            if (JsonToken.BEGIN_OBJECT.equals(nextToken)) {
                System.out.println("Begin object");
                jsonReader.beginObject();

            } else if (JsonToken.NAME.equals(nextToken)) {

                String name = jsonReader.nextName();
                System.out.println("Token KEY >>>> " + name);

            } else if (JsonToken.STRING.equals(nextToken)) {

                String value = jsonReader.nextString();
                System.out.println("Token Value >>>> " + value);

            } else if (JsonToken.NUMBER.equals(nextToken)) {

                long value = jsonReader.nextLong();
                System.out.println("Token Value >>>> " + value);

            } else if (JsonToken.NULL.equals(nextToken)) {

                jsonReader.nextNull();
                System.out.println("Token Value >>>> null");
                 
            } else if (JsonToken.END_OBJECT.equals(nextToken)) {
                System.out.println("End object");
                jsonReader.endObject();

            }
            else if (JsonToken.BEGIN_ARRAY.equals(nextToken)) {
                System.out.println("Begin array");
                jsonReader.beginArray();
            }
            else if (JsonToken.END_ARRAY.equals(nextToken)) {
                System.out.println("End array");
                jsonReader.endArray();
                
            }
            else if(JsonToken.END_DOCUMENT.equals(nextToken)) {
                System.out.println("End document");
            }
            
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            jsonReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
它给出的输出是:

Begin object
Token KEY >>>> priceAgreementLineDetails
Begin array
Begin object
Token KEY >>>> catalogue
Begin object
Token KEY >>>> assetClassDetails
Begin array
Begin object
因此,当它遇到一个空对象时,它不会再前进。
由于这是一个无效的json,我希望它会失败,但它不会过早失败。

您的算法的工作方式是,一旦您的代码到达任何
END\u对象
标记,它就会在代码中打断唯一未列出的
。这是因为您的代码不处理每个特定复杂子元素(即数组和对象)的状态,因此无法将
assetClassDetails
中的第一个空对象与顶端对象区分开来。使用堆栈保存每个子元素的状态或使用递归:

public final class StreamReadingTest{
@试验
公开无效测试()
抛出IOException{
try(最终JsonReader JsonReader=…){
jsonReader.setLenient(true);
read(jsonReader);
}
}
私有静态无效读取(最终JsonReader JsonReader)
抛出IOException{
read(jsonReader,0);
}
私有静态无效读取(最终JsonReader JsonReader,最终int级别)
抛出IOException{
最终的JsonToken标记=jsonReader.peek();
交换机(令牌){
案例开始\u数组:
打印消息(级别,“数组”);
jsonReader.beginArray();
while(jsonReader.hasNext()){
读取(jsonReader,级别+1);
}
jsonReader.endArray();
打破
案例结束单元阵列:
抛出新的断言错误();
案例开始对象:
打印消息(级别,“对象”);
jsonReader.beginObject();
while(jsonReader.hasNext()){
打印消息(级别,“| NAME=“+jsonReader.nextName());
读取(jsonReader,级别+1);
}
jsonReader.endObject();
打破
案例结束对象:
抛出新的断言错误();
案例名称:
抛出新的断言错误();
大小写字符串:
printMessage(级别,“STRING”+jsonReader.nextString());
打破
案件编号:
printMessage(级别,“NUMBER”+jsonReader.nextString());//读取字符串以确保不丢失精度
打破
大小写布尔值:
printMessage(级别,“BOOLEAN”+jsonReader.nextBoolean());
打破
大小写为空:
jsonReader.nextNull();
打印消息(级别为“空”);
打破
案例结束文件:
打印消息(级别,“结束”);
打破
违约:
抛出新断言错误(令牌);
}
}
私有静态void打印消息(最终整数级别,最终字符串消息){
对于(int i=0;i
一旦运行,它将打印:

OBJECT
| NAME = priceAgreementLineDetails
    ARRAY
        OBJECT
        | NAME = catalogue
            OBJECT
            | NAME = assetClassDetails
                ARRAY
                    OBJECT
            | NAME = assetClassRequired
                NULL
            | NAME = baseUnitofMeasure
                STRING PMI
            | NAME = bomParent
                STRING Yes
            | NAME = commodityCodeTaric
                STRING 84158200
            | NAME = enLanguageKey
                STRING EN
            | NAME = enMaterialLongText
                STRING Lenovo Privacy Filter for 14


因为JSON是无效的。

这肯定有效。但我也试图修复无效的json,这是问题的另一个方面。有什么想法吗?@subwendumahanta恐怕Gson和所有其他JSON库在这方面都帮不了你,因为任何JSON文档都必须是有效的才能被解析(一般适用于任何语法)。您可能希望尝试扩展这些库,放松JSON规则,但我建议您尽可能获得有效的JSON。
com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 246 path $.priceAgreementLineDetails[0].catalogue.enMaterialLongText