4

EDIT:

I have tried something like this and I get no errors but does not display anything in the system.debug.

    String JSONString = JSON.serialize(mapWrapper);
    system.debug('JSONString : ' + JSONString );

END

Is there way to convert object list into json output?

Defined map as following:

Map<string, List<WrapperDay>>  mapWrapper = new Map<string, List<WrapperDay>>();

Output:

mapWrapper: {Monday=(WrapperDay:[index=0, record=employee:[isAllDay=false, selectedDay=Monday, selectedSection=1, selectedTo=3]]), Tuesday=(WrapperDay:[index=0, record=employee:[isAllDay=false, selectedDay=Tuesday, selectedSection=3, selectedTo=3]], WrapperDay:[index=1, record=bannerAdTimeClass:[isAllDay=false, selectedDay=Tuesday, selectedSection=4, selectedTo=3]])}
5

Fortunately Salesforce has a class to serialize and deserialize JSON. In this documentation you can find examples on how to serialize and deserialize. The examples work with single objects, but I believe you can get those in a loop and process multiple objects (like your list of custom type).

Edit:

You probably have something wrong in your code or in your logic. The following example works just fine for me:

public class Fruit {
    public Boolean isEdible;
}
public class Tree {
    public String fruit;
    public Integer age;
    public List<Fruit> fruits;
}

public String parse(){
    Tree t1 = new Tree();
    t1.fruit = 'Apple';
    t1.age = 5;

    Tree t2 = new Tree();
    t2.fruit = 'Orange';
    t2.age = 3;

    Fruit f1 = new Fruit();
    Fruit f2 = new Fruit();
    f1.isEdible = true;
    f2.isEdible = false;

    t1.fruits = new List<Fruit>{f1, f2};
    t2.fruits = new List<Fruit>{f2, f2};
    return JSON.serialize(new List<Object>{t1, t2});
}

System.debug(parse());

and it gives me:

[{"fruits":[{"isEdible":true},{"isEdible":false}],"fruit":"Apple","age":5},{"fruits":[{"isEdible":false},{"isEdible":false}],"fruit":"Orange","age":3}]

Maybe you should try to serialize a list instead of a Map object? I don't know if this can be the issue in your case.

|improve this answer|||||
  • 1
    I have tried something like this JSON.serialize(mapWrapper); but does not display in the system.debug, please have look at my question i just updated. – Nick Kahn Jun 8 '16 at 15:20
  • 1
    Can you please add the details of mapWrapper? Ideally this is just work fine. – AtulRajguru9 Jun 8 '16 at 15:48
  • If map serialization not working out, consider adding the map key as a param to your custom wrapper if required, then can readily serialize the list of custom wrapper values from map into a json string, send wherever, then reconstruct map at other end, extracting key back out of wrapper class param. Shouldnt be much overhead. – CloudHugger Jun 8 '16 at 21:36

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.