I would say the serialization logic should not be part of the POCO/data classes for many reasons:
- Single Responsibility Principle (data classes should only define data model, note serialization logic)
- There could be different kinds of serializers that you may require (json/xml etc. as you mentioned)
- Serialization implementation most of the time is a generic solution or an external package. Even if you want custom implementation for some objects, still you can have a generic solution which you can extend for specific classes, so no need to have it for each class.
- You can decorate your POCO classes with attributes to direct the serializer for special conditions (like to control sequence of properties, property names or even a customer serializer for complex type properties)
There will be other reasons as well but there are some strong arguments why you should not put the serialization logic into your POCO/Data Model.