0

I have to send a very large JSON file. In the process of making that JSON file, xcode gives a compile time error: Expression too complex to resolve in real time.

I have tried using SwiftyJson for this as well. Even if I divide the big string into smaller strings, it will give me the same error because of the high number of "+" operators. Does anyone have a solution for this?

This is the code: `et jsonObject: JSON = [

        "salesAgentID": SalesAgentID,

        "customerInformation": [

            "customerName": CustomerInfo[1],
            "company": CustomerInfo[2],
            "address" : CustomerInfo[3],
            "city" : CustomerInfo[4],
            "postalCode" : CustomerInfo[5],
            "mobile" : CustomerInfo[6],
            "phone" : CustomerInfo[7],
            "email" : CustomerInfo[8],
            "deliveryAddress" : CustomerInfo[9]


        ],


        "measurements": [

            "point": String(uiSliderArray[0]),
            "halfBody": String(uiSliderArray[1]),
            "fullBody": String(uiSliderArray[2]),
            "kneeLength" : String(uiSliderArray[3]),
            "shortLength" : String(uiSliderArray[4]),
            "longLength" : String(uiSliderArray[5]),
            "chesy": String(uiSliderArray[6]),
            "bust": String(uiSliderArray[7]),
            "waist": String(uiSliderArray[8]),
            "smallHip" : String(uiSliderArray[9]),
            "hips" : String(uiSliderArray[10]),
            "shoulder" : String(uiSliderArray[11]),
            "backCarrue": String(uiSliderArray[12]),
            "frontCarrue": String(uiSliderArray[13]),
            "backNeck": String(uiSliderArray[14]),
            "frontNeck" : String(uiSliderArray[15]),
            "widthOfNeckline" : String(uiSliderArray[16]),
            "sleevesFull" : String(uiSliderArray[17]),
            "sleevesThreeQuarter": String(uiSliderArray[18]),
            "elbow": String(uiSliderArray[19]),
            "sleevesHalf": String(uiSliderArray[20]),
            "bicep" : String(uiSliderArray[21]),
            "empire" : String(uiSliderArray[22]),
            "armhole" : String(uiSliderArray[23]),
            "lowerLength": String(uiSliderArray[24]),
            "lowerWaist" : String(uiSliderArray[25]),
            "thigh" : String(uiSliderArray[26]),
            "kneeLength2" : String(uiSliderArray[27]),
            "calf": String(uiSliderArray[28]),
            "ankle": String(uiSliderArray[29])
                        ],

        "Order": [

            "agentID": SalesAgentID,
            "orderStatus": orderStatus,
            "reference": referenceTextField.text,
            "advancePaid" : advancePaidTextField.text,
            "totalPayment" : totalPaymentTextField.text,
            "choli" : ArrayforDressTypeSelection[0][0],
            "shirt" : ArrayforDressTypeSelection[0][1],
            "angrakha" :ArrayforDressTypeSelection[0][2],
            "jacket": ArrayforDressTypeSelection[0][3],
            "longSleeve" : ArrayforDressTypeSelection[1][0],
            "threeQuarterSleeve" : ArrayforDressTypeSelection[1][1],
            "elbowSleeve" : ArrayforDressTypeSelection[1][2],
            "sleeveless" : ArrayforDressTypeSelection[1][3],
            "saree" : ArrayforDressTypeSelection[2][0],
            "gown" : ArrayforDressTypeSelection[3][0],
            "cigarettePant" : ArrayforDressTypeSelection[4][0],
            "bootcutPant" : ArrayforDressTypeSelection[4][1],
            "izaar" : ArrayforDressTypeSelection[4][2],
            "lehengaWithTrail" : ArrayforDressTypeSelection[4][3],
            "lehengaWithoutTrail" : ArrayforDressTypeSelection[4][4],
            "sharara" : ArrayforDressTypeSelection[4][5],
            "gharara" : ArrayforDressTypeSelection[4][6],
            "dhotiShalwar" : ArrayforDressTypeSelection[4][7],
            "shalwar" : ArrayforDressTypeSelection[4][8],
            "flaredPant" : ArrayforDressTypeSelection[4][9]



        ]


    ]`
Saad Rehman
  • 363
  • 1
  • 7
  • 18
  • Possible duplicate of http://stackoverflow.com/questions/29707622/bizarre-swift-compiler-error-expression-too-complex-on-a-string-concatenation/29931329#29931329 . Breaking down a big string concatenation into much shorter statements, and strongly typing the input and output of each "+" operation might help. – hotpaw2 Oct 01 '16 at 16:33

1 Answers1

0

I would suggest to create classes measurements, orders etc. then make class functions to create JSON Object (or dictionary) from class object and then unite them.

JuicyFruit
  • 2,638
  • 2
  • 18
  • 35