Couple of ideas come to mind, which you can choose from depending on how many distinct classes you need to do this for and how performant you need the algorithm to be:
Probably the fastest would be to use Json.net's custom converters or Contract Resolvers and build one that suits your needs, i.e. ignores properties you don't want included.
Another approach would be to map this class to another similarly-defined class that simply doesn't contain the properties you don't want included, and then serialize that class. You can use AutoMapper for quick mapping between similarly-defined classes.
Finally, you can create an ExpandoObject
(or even a Dictionary<string, object>
) and add the properties that you want included into the Expando or the Dictionary (and you can copy those properties/key-value pairs either manually or by reflection, etc.) and then serialize that object/dictionary.