{"action":"created","issue":{"url":"https://api.github.com/repos/devinus/poison/issues/60","labels_url":"https://api.github.com/repos/devinus/poison/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/devinus/poison/issues/60/comments","events_url":"https://api.github.com/repos/devinus/poison/issues/60/events","html_url":"https://github.com/devinus/poison/pull/60","id":127628281,"number":60,"title":"[WIP] Ability to transform the keys","user":{"login":"joshprice","id":9307,"avatar_url":"https://avatars.githubusercontent.com/u/9307?v=3","gravatar_id":"","url":"https://api.github.com/users/joshprice","html_url":"https://github.com/joshprice","followers_url":"https://api.github.com/users/joshprice/followers","following_url":"https://api.github.com/users/joshprice/following{/other_user}","gists_url":"https://api.github.com/users/joshprice/gists{/gist_id}","starred_url":"https://api.github.com/users/joshprice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshprice/subscriptions","organizations_url":"https://api.github.com/users/joshprice/orgs","repos_url":"https://api.github.com/users/joshprice/repos","events_url":"https://api.github.com/users/joshprice/events{/privacy}","received_events_url":"https://api.github.com/users/joshprice/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-01-20T08:19:24Z","updated_at":"2016-01-24T02:56:01Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/devinus/poison/pulls/60","html_url":"https://github.com/devinus/poison/pull/60","diff_url":"https://github.com/devinus/poison/pull/60.diff","patch_url":"https://github.com/devinus/poison/pull/60.patch"},"body":"This is an attempt at solving #44. \r\n\r\nSyntax is as follows: \r\n\r\n```elixir\r\niex(1)> Poison.decode ~s({\"fooBar\": 1}), key_transformer: Poison.SnakeCase\r\n{:ok, %{\"foo_bar\" => 1}}\r\n\r\niex(2)> Poison.encode %{foo_bar: 1}, key_transformer: Poison.CamelCase     \r\n{:ok, \"{\\\"fooBar\\\":1}\"}\r\n```\r\nThis probably kills performance, and needs some macros to fix it. However it's here as a working proposal for further discussion.\r\n\r\nIt's also likely that modifying Poison to do this is not as useful as making it a transformation step in the process. Similar to the comments in #55 this might be better done in a separate library.\r\n\r\nFixes #44.\r\n\r\nPaired with @bockit"},"comment":{"url":"https://api.github.com/repos/devinus/poison/issues/comments/174244995","html_url":"https://github.com/devinus/poison/pull/60#issuecomment-174244995","issue_url":"https://api.github.com/repos/devinus/poison/issues/60","id":174244995,"user":{"login":"devinus","id":4836,"avatar_url":"https://avatars.githubusercontent.com/u/4836?v=3","gravatar_id":"","url":"https://api.github.com/users/devinus","html_url":"https://github.com/devinus","followers_url":"https://api.github.com/users/devinus/followers","following_url":"https://api.github.com/users/devinus/following{/other_user}","gists_url":"https://api.github.com/users/devinus/gists{/gist_id}","starred_url":"https://api.github.com/users/devinus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devinus/subscriptions","organizations_url":"https://api.github.com/users/devinus/orgs","repos_url":"https://api.github.com/users/devinus/repos","events_url":"https://api.github.com/users/devinus/events{/privacy}","received_events_url":"https://api.github.com/users/devinus/received_events","type":"User","site_admin":false},"created_at":"2016-01-24T02:56:00Z","updated_at":"2016-01-24T02:56:00Z","body":"@joshprice Yeah, this would undeniably slow things down a lot. I'm thinking of alternative ways to do this."}}