[SalesForce] How to JSON.serialize not including null values

I have an Issue. I have a class with few Strings

public class DopplerJSONSerializer {

    public String name;
    public String email;
}

In some, I need to serialize and use only the name String in some methods, and in others I need to use all of them.

Right now if i do for example:

    public String createListJSON(String listName) {
    DopplerJSONSerializer listWrapper = new DopplerJSONSerializer();
    listWrapper.name = listName;
    String listJSON = JSON.serialize(listWrapper);
    return System.JSON.serialize(listJSON);
}

It will return me:

{"name":"New List", "email":null}

How can I do to not include the non serialized variables into the JSON.serialize?

Thank you

Best Answer

Use the alternative method signature:

serialize(objectToSerialize, suppressApexObjectNulls);

Using your code as an example:

String listJSON = JSON.serialize(listWrapper, true); // suppress null values