{"action":"opened","issue":{"url":"https://api.github.com/repos/spekary/gopp/issues/3","labels_url":"https://api.github.com/repos/spekary/gopp/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/spekary/gopp/issues/3/comments","events_url":"https://api.github.com/repos/spekary/gopp/issues/3/events","html_url":"https://github.com/spekary/gopp/issues/3","id":123772184,"number":3,"title":"Automate serializers","user":{"login":"spekary","id":755757,"avatar_url":"https://avatars.githubusercontent.com/u/755757?v=3","gravatar_id":"","url":"https://api.github.com/users/spekary","html_url":"https://github.com/spekary","followers_url":"https://api.github.com/users/spekary/followers","following_url":"https://api.github.com/users/spekary/following{/other_user}","gists_url":"https://api.github.com/users/spekary/gists{/gist_id}","starred_url":"https://api.github.com/users/spekary/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spekary/subscriptions","organizations_url":"https://api.github.com/users/spekary/orgs","repos_url":"https://api.github.com/users/spekary/repos","events_url":"https://api.github.com/users/spekary/events{/privacy}","received_events_url":"https://api.github.com/users/spekary/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-24T07:51:03Z","updated_at":"2015-12-24T07:51:03Z","closed_at":null,"body":"Since all objects are only accessed externally through the interface, and interfaces have no members, there is no inherent way to serialize an object. \r\n\r\nObjects must implement the serialization interfaces to be serializable, like MarshalJSON.\r\n\r\nWe need to decide whether to implement these by default, or have some mechanism to turn it on or off. For example, by default, we could generate the following on every object, provided it wasn't explicitly declared: \r\n```\r\nfunc MarshalJSON() ([]byte, error) {\r\n    return json.Marshal(this)\r\n}\r\n```\r\nWhich would encode the capitalized members of the struct form of the object.\r\n\r\nNote that Gob can encode and decode interfaces, so there is no inherent need to implement GobEncode and GobDecode.\r\n\r\n"}}