I need to pass List<WrapperClass> from lightning helper to apex class. Passing the list directly gave me the following error while iterating the list in apex.

Error message: An internal server error has occurred Error ID: 1137130244-1625 (119852647)

So I tried to stringify the list in helper and passed it as a string .This time I am getting the below error in apex.

QueryResult must start with '{'

Please find my code.

public class WrapperClass{
      public Custom1__c custom1{get;set;}
      public Custom2__c custom2{get;set;}
      public List<Custom3__c> custom3List{get;set;}
      public List<String> currentList{get;set;}

Lightning helper:

       var action1 = component.get("c.saveCustomVolumes");
       var customs = component.get("v.customIds");
       var tvList = component.get("v.wrapperList");
       var tvString = JSON.stringify(tvList);
       var baseYear = component.get("v.selectedYear");
            "tvString":tvString, // passing wrapper class as a String
        action1.setCallback(this, function(response) {
            var state = response.getState();
            if (state === "SUCCESS") {


Apex class:

public static saveCustomVolumes(List<String> customList,String tvString, String baseYear){
    List<WrapperClass> wrapList =          
 (List<WrapperClass>)JSON.deserialize(tvString,List<WrapperClass>.class); //This line gives the error QueryResult must start with '{'

Could anyone please help me with the issue.

  • You are getting internal server error in debug log or in Browser? – Tushar Sharma Oct 12 '18 at 6:07
  • can you please paste the string, which you are passing to the controller. – Pragati Jain Oct 12 '18 at 6:17
  • I am getting Error message: An internal server error has occurred Error ID: 1137130244-2045 (-1373094418) in the browser – Sindhuja Oct 12 '18 at 6:18
  • String passing to controller--> [{"currentEpisodes":["15.00","","","","","","","","","","",""],"Schedules":[{"Title__c":"a0O0j0000061rzXXXX","Id":"a0r0j0000002esXXXX","Date__c":"2018-01-01","Count__c":15,"Year__c":"2018","Month__c":1}],"title":{"Id":"a0O0j0000061rzXXXX","Name":"Test"},"updatedEpisodes":["100","200","30","40","50","60","70","80","90","100","110","120"]}] – Sindhuja Oct 12 '18 at 6:26
  • Is the name of the JavaScript function calling the apex action same as the apex method name? If so, try renaming it. – Ranga Oct 12 '18 at 6:31

I resolved this issue by forming JSON objects in javascript and adding it to a list and then passed this list to apex using JSON.stringify

  • Hi, Can you post the answer? Thanks. – sunny Jan 24 '20 at 22:48

JSON String passed into apex method must match the wrapper class format. For example, JSON string should be something like,

    "custom1" : {
        "Id" : "a0O0j0000061rzXXXX",
        "Name" : "Test"
    "custom2" : {
        "Id" : "a0r0j0000002esXXXX",
        "Title__c" : "a0O0j0000061rzXXXX"
    "custom3List" : [{
            "Id" : "a0r0j0000002esXXXX",
            "Title__c" : "a0O0j0000061rzXXXX"
            "Id" : "a0r0j0000002esXXXX",
            "Title__c" : "a0O0j0000061rzXXXX"
    "currentList" : ["ABC","DEF"]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.