Search code examples
json-simple

json-simple not parsing complete json


I have a very long JSON which I need to parse using Google's json-simple APIs. However, json-simple APIs is not parsing the complete JSON string. Below is my Java code to parse the JSON. The output does not have complete JSON string.

Is there any limitation with json-simple APIs on parsing JSONs? Or am I missing something in my code?

Please help! Many thanks!

Regards, Vinayak

Java Code:

import org.json.simple.JSONObject;
import org.json.simple.JSONValue;

public class JSONParser {

    private static final String JSON_DATA = "{\"order\":{\"entityErrors\":[],\"buyerInfo\":{\"id\":\"7b70f71b-6337-4726-befe-c6cf50c8f413\",\"isGuest\":false,\"associateInfo\":{\"shouldApplyAssociateDiscount\":true},\"primaryContact\":{\"name\":{\"completeName\":\"Yugesh Gundapaneni\",\"firstName\":\"Yugesh\",\"lastName\":\"Gundapaneni\"},\"phone\":{\"completeNumber\":\"408-660-5027\"},\"email\":{\"emailAddress\":\"[email protected]\"}}},\"groupOrderNo\":\"1414451219356\",\"orderNo\":\"1414451219356\",\"orderType\":\"DOMESTIC\",\"orderDate\":\"2014-10-08T21:11:21Z\",\"orderLines\":[{\"seller\":{\"catalogSellerId\":0,\"partnerDisplayName\":\"abc.com\"},\"primeLineNo\":1,\"orderedQty\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00},\"fulfillmentType\":\"S2S\",\"shippingMethod\":\"STORE_DELIVERY\",\"giftMessage\":{\"giftMessage\":\" GIFT\"},\"orderProduct\":{\"offerId\":{\"offerId\":\"539A698868664B2DB87ECB061D328722\",\"upc\":\"0005436107672\",\"wupc\":\"0005436107672\",\"USItemId\":10154038,\"USSellerId\":0},\"productName\":\"Stansport G-8-10 Folding Stadium Seat with Arms\",\"offerAttributes\":{\"isMailReturnable\":true,\"isPerishable\":false,\"wmDeptNo\":\"74\"}},\"unitPrice\":{\"currencyAmount\":20.00,\"currencyUnit\":\"USD\"},\"shipToAddress\":{\"address\":{\"addressLineOne\":\"600 showers drive\",\"addressLineTwo\":\"\",\"addressLineThree\":\"\",\"addressLineFour\":\"\",\"addressLineFive\":\"\",\"addressLineSix\":\"\",\"addressType\":\"OFFICE\",\"city\":\"MountainView\",\"countryCode\":\"USA\",\"postalCode\":\"94040\",\"stateOrProvinceCode\":\"CA\",\"id\":null,\"isApoFpo\":false,\"isPoBox\":false},\"storeFrontId\":{\"storeFrontId\":null,\"USStoreId\":5502},\"name\":{\"firstName\":\"\",\"middleName\":\"\",\"lastName\":\"\",\"generalSuffix\":\"\",\"titleOfRespect\":\"\"},\"phone\":{\"completeNumber\":\"\"},\"smsMobileNo\":{\"completeNumber\":\"\"},\"email\":{\"emailAddress\":\"\"}},\"orderedLineDates\":[{\"dateTypeId\":\"DELIVERY\",\"expectedDate\":\"2014-10-10T21:11:21Z\"}],\"charges\":[{\"chargeCategory\":\"DISCOUNT\",\"chargeName\":\"AssociateDiscount\",\"chargeQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00},\"chargePerUnit\":{\"currencyAmount\":1.00,\"currencyUnit\":\"USD\"},\"chargePerLine\":{\"currencyAmount\":0.00,\"currencyUnit\":\"USD\"},\"isDiscount\":true,\"isBillable\":true},{\"chargeCategory\":\"FEE\",\"chargeName\":\"Fee1\",\"chargeQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00},\"tax\":[{\"taxName\":\"Fee1\",\"taxPerLine\":{\"currencyAmount\":1.00,\"currencyUnit\":\"USD\"},\"estimatedTaxPerLine\":{\"currencyAmount\":1.00,\"currencyUnit\":\"USD\"}}]},{\"chargeCategory\":\"PRODUCT\",\"chargeName\":\"Product\",\"chargeQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00},\"chargePerUnit\":{\"currencyAmount\":20.00,\"currencyUnit\":\"USD\"},\"tax\":[{\"taxName\":\"Tax1\",\"taxPerLine\":{\"currencyAmount\":1.00,\"currencyUnit\":\"USD\"},\"estimatedTaxPerLine\":{\"currencyAmount\":1.00,\"currencyUnit\":\"USD\"}}]}],\"orderLineQuantityInfo\":[{\"status\":\"PROCESSING\",\"statusCode\":\"2100.200\",\"statusDescription\":\"PO Created\",\"statusChangeDate\":\"2014-12-04T10:19:05Z\",\"statusQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00}}],\"orderLineNote\":[],\"lineQuantitySummaries\":[{\"type\":\"Invoiced\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":0.00}},{\"type\":\"Ordered\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00}},{\"type\":\"Received\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":0.00}},{\"type\":\"Shipped\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":0.00}},{\"type\":\"IntentToCancel\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":1.0}},{\"type\":\"IntentToCancel\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":1.0}}],\"holds\":[],\"returnInfo\":{\"openRMAQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":0.00},\"returnableQty\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":0.00},\"isCallTagRequired\":false}},{\"seller\":{\"catalogSellerId\":0,\"partnerDisplayName\":\"abc.com\"},\"primeLineNo\":2,\"orderedQty\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00},\"fulfillmentType\":\"ELECTRONIC\",\"shippingMethod\":\"ELECTRONIC_DELIVERY\",\"orderProduct\":{\"offerId\":{\"offerId\":\"CFE4D1981AC746E89ABBCBCBAE6F024F\",\"upc\":\"0005436107673\",\"wupc\":\"0005436107673\",\"USItemId\":24074298,\"USSellerId\":0},\"productName\":\"LOYAL MK472B\",\"offerAttributes\":{\"isMailReturnable\":true,\"isPerishable\":false,\"wmDeptNo\":\"\"}},\"unitPrice\":{\"currencyAmount\":10.00,\"currencyUnit\":\"USD\"},\"shipToAddress\":{\"address\":{\"addressLineOne\":\"600 showers drive\",\"addressLineTwo\":\"\",\"addressLineThree\":\"\",\"addressLineFour\":\"\",\"addressLineFive\":\"\",\"addressLineSix\":\"\",\"addressType\":\"OFFICE\",\"city\":\"MountainView\",\"countryCode\":\"USA\",\"postalCode\":\"94040\",\"stateOrProvinceCode\":\"CA\",\"id\":null,\"isApoFpo\":false,\"isPoBox\":false},\"storeFrontId\":{\"storeFrontId\":null,\"USStoreId\":5502},\"name\":{\"firstName\":\"\",\"middleName\":\"\",\"lastName\":\"\",\"generalSuffix\":\"\",\"titleOfRespect\":\"\"},\"phone\":{\"completeNumber\":\"\"},\"smsMobileNo\":{\"completeNumber\":\"\"},\"email\":{\"emailAddress\":\"\"}},\"orderedLineDates\":[{\"dateTypeId\":\"DELIVERY\",\"expectedDate\":\"2014-09-30T19:36:22Z\"}],\"charges\":[{\"chargeCategory\":\"DISCOUNT\",\"chargeName\":\"AssociateDiscount\",\"chargeQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00},\"chargePerUnit\":{\"currencyAmount\":1.00,\"currencyUnit\":\"USD\"},\"chargePerLine\":{\"currencyAmount\":0.00,\"currencyUnit\":\"USD\"},\"isDiscount\":true,\"isBillable\":true},{\"chargeCategory\":\"FEE\",\"chargeName\":\"Fee1\",\"chargeQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00},\"tax\":[{\"taxName\":\"Fee1\",\"taxPerLine\":{\"currencyAmount\":1.00,\"currencyUnit\":\"USD\"},\"estimatedTaxPerLine\":{\"currencyAmount\":1.00,\"currencyUnit\":\"USD\"}}]},{\"chargeCategory\":\"PRODUCT\",\"chargeName\":\"Product\",\"chargeQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00},\"chargePerUnit\":{\"currencyAmount\":10.00,\"currencyUnit\":\"USD\"},\"tax\":[{\"taxName\":\"Tax1\",\"taxPerLine\":{\"currencyAmount\":4.00,\"currencyUnit\":\"USD\"},\"estimatedTaxPerLine\":{\"currencyAmount\":4.00,\"currencyUnit\":\"USD\"}}]}],\"orderLineQuantityInfo\":[{\"status\":\"PROCESSING\",\"statusCode\":\"2100.200\",\"statusDescription\":\"PO Created\",\"statusChangeDate\":\"2014-10-27T16:07:22Z\",\"statusQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00}}],\"orderLineNote\":[],\"lineQuantitySummaries\":[{\"type\":\"Invoiced\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":0.00}},{\"type\":\"Ordered\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00}},{\"type\":\"Received\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":0.00}},{\"type\":\"Shipped\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":0.00}},{\"type\":\"IntentToCancel\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":1.0}},{\"type\":\"IntentToCancel\",\"quantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":1.0}}],\"holds\":[],\"returnInfo\":{\"openRMAQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":0.00},\"returnableQty\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":0.00},\"isCallTagRequired\":false}}],\"paymentMethods\":[{\"paymentType\":\"CREDITCARD\",\"pmId\":\"VISA\",\"last4DigitsOfCard\":\"2725\",\"personInfoBillTo\":{\"address\":{\"addressLineOne\":\"850 Cherry Ave\",\"addressLineTwo\":\"\",\"addressLineThree\":\"\",\"addressLineFour\":\"\",\"addressLineFive\":\"\",\"addressLineSix\":\"\",\"city\":\"San Bruno\",\"countryCode\":\"USA\",\"postalCode\":\"94066\",\"stateOrProvinceCode\":\"CA\",\"id\":null,\"isApoFpo\":false,\"isPoBox\":false},\"name\":{\"completeName\":\"YUGESH GUNDAPANENI\",\"firstName\":\"YUGESH\",\"middleName\":\"\",\"lastName\":\"GUNDAPANENI\",\"generalSuffix\":\"\",\"titleOfRespect\":\"\"},\"phone\":{\"completeNumber\":\"408-660-5027\"},\"smsMobileNo\":{\"completeNumber\":\"408-660-5027\"},\"email\":{\"emailAddress\":\"[email protected]\"}},\"amountpromised\":{\"currencyAmount\":100.00,\"currencyUnit\":\"USD\"},\"paymentReferenceId\":\"ca005e30-210b-4c23-b8ad-60adcdcea744\"}],\"shipments\":[],\"pickupPersons\":[{\"contactInfo\":{\"name\":{\"completeName\":\"YUGESH GUNDAPANENI\",\"firstName\":\"YUGESH\",\"middleName\":\"\",\"lastName\":\"GUNDAPANENI\",\"generalSuffix\":\"\",\"titleOfRespect\":\"\"},\"phone\":{\"completeNumber\":\"408-660-5027\"},\"smsMobileNo\":{\"completeNumber\":\"408-660-5027\"},\"email\":{\"emailAddress\":\"[email protected]\"}},\"isPrimary\":false},{\"contactInfo\":{\"name\":{\"completeName\":\"YUGESH GUNDAPANENI\",\"firstName\":\"YUGESH\",\"middleName\":\"\",\"lastName\":\"GUNDAPANENI\",\"generalSuffix\":\"\",\"titleOfRespect\":\"\"},\"phone\":{\"completeNumber\":\"408-660-5027\"},\"smsMobileNo\":{\"completeNumber\":\"408-660-5027\"},\"email\":{\"emailAddress\":\"[email protected]\"}},\"isPrimary\":true},{\"contactInfo\":{\"name\":{\"completeName\":\"Jane George\",\"firstName\":\"Jane\",\"middleName\":\"\",\"lastName\":\"George\",\"generalSuffix\":\"\",\"titleOfRespect\":\"\"},\"phone\":{\"completeNumber\":\"9995443333\"},\"smsMobileNo\":{\"completeNumber\":\"3436758989\"},\"email\":{\"emailAddress\":\"[email protected]\"}},\"isPrimary\":false}],\"lastModified\":\"2014-12-10T10:06:19Z\",\"orderNote\":[{\"contactType\":\"Account\",\"contactReference\":\"\",\"contactTime\":\"2014-10-27T16:07:00Z\",\"noteText\":\"Note dude\",\"reasonCode\":\"\",\"enteredBy\":\"Customer\"}],\"holds\":[],\"orderLineRelationships\":{\"warrantyRelationships\":[{\"productLine\":{\"productLineNo\":\"1\"},\"warrantyLine\":{\"warrantyLineNo\":\"2\"}}]},\"purchaseOrders\":[{\"purchaseOrderNo\":\"1569570013125\",\"shipNode\":\"2377\",\"shipNodeType\":\"DC\",\"scac\":\"\",\"tcNumber\":\"02237020963141852820177\",\"shipToAddress\":{\"address\":{\"addressLineOne\":\"600 showers drive\",\"addressLineTwo\":\"\",\"addressLineThree\":\"\",\"addressLineFour\":\"\",\"addressLineFive\":\"\",\"addressLineSix\":\"\",\"addressType\":\"OFFICE\",\"city\":\"MountainView\",\"countryCode\":\"USA\",\"postalCode\":\"94040\",\"stateOrProvinceCode\":\"CA\",\"id\":null,\"isApoFpo\":false,\"isPoBox\":false},\"storeFrontId\":{\"storeFrontId\":null,\"USStoreId\":5502},\"name\":{\"firstName\":\"\",\"middleName\":\"\",\"lastName\":\"\",\"generalSuffix\":\"\",\"titleOfRespect\":\"\"},\"phone\":{\"completeNumber\":\"\"},\"smsMobileNo\":{\"completeNumber\":\"\"},\"email\":{\"emailAddress\":\"\"}},\"poDate\":[],\"purchaseOrderLines\":[{\"poLineId\":\"2\",\"primeLineNo\":2,\"poLineStatusInfos\":[{\"poLineStatus\":\"1100.200\",\"poLineStatusCode\":\"1100.200\",\"poLineStatusDescription\":\"PO Created\",\"poLineStatusChangeDate\":\"2014-10-27T16:07:22Z\",\"poLineStatusQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00}}],\"orderedQty\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00},\"requestOfferId\":{\"offerId\":\"CFE4D1981AC746E89ABBCBCBAE6F024F\",\"upc\":\"0005436107673\",\"wupc\":\"0005436107673\",\"USItemId\":24074298,\"USSellerId\":0},\"notes\":[]}]},{\"purchaseOrderNo\":\"1569950018149\",\"shipNode\":\"2377\",\"shipNodeType\":\"DC\",\"scac\":\"\",\"tcNumber\":\"02237020963141852820177\",\"shipToAddress\":{\"address\":{\"addressLineOne\":\"600 showers drive\",\"addressLineTwo\":\"\",\"addressLineThree\":\"\",\"addressLineFour\":\"\",\"addressLineFive\":\"\",\"addressLineSix\":\"\",\"addressType\":\"OFFICE\",\"city\":\"MountainView\",\"countryCode\":\"USA\",\"postalCode\":\"94040\",\"stateOrProvinceCode\":\"CA\",\"id\":null,\"isApoFpo\":false,\"isPoBox\":false},\"storeFrontId\":{\"storeFrontId\":null,\"USStoreId\":5502},\"name\":{\"firstName\":\"\",\"middleName\":\"\",\"lastName\":\"\",\"generalSuffix\":\"\",\"titleOfRespect\":\"\"},\"phone\":{\"completeNumber\":\"\"},\"smsMobileNo\":{\"completeNumber\":\"\"},\"email\":{\"emailAddress\":\"\"}},\"poDate\":[],\"purchaseOrderLines\":[{\"poLineId\":\"1\",\"primeLineNo\":1,\"poLineStatusInfos\":[{\"poLineStatus\":\"1100.200\",\"poLineStatusCode\":\"1100.200\",\"poLineStatusDescription\":\"PO Created\",\"poLineStatusChangeDate\":\"2014-12-04T10:19:05Z\",\"poLineStatusQuantity\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00}}],\"orderedQty\":{\"unitOfMeasure\":\"EA\",\"measurementValue\":2.00},\"requestOfferId\":{\"offerId\":\"539A698868664B2DB87ECB061D328722\",\"upc\":\"0005436107672\",\"wupc\":\"0005436107672\",\"USItemId\":10154038,\"USSellerId\":0},\"notes\":[]}]}],\"orderPreferences\":{\"isSendSMSNotification\":true}}}";

    public static void main(String[] args) {
            JSONObject jsonObject = (JSONObject)JSONValue.parse(JSON_DATA);
            System.out.println("JSON: "+jsonObject.toJSONString());
    }
}

Solution

  • You have values such as 2.00.

    These values are read as double. The String representation of such a double is 2.0 (notice the lacking 0).

    That account for 1 less character for each occurrence of such a double value.

    You have 43 such values.

    There you have it.