{"action":"created","issue":{"url":"https://api.github.com/repos/boto/botocore/issues/737","labels_url":"https://api.github.com/repos/boto/botocore/issues/737/labels{/name}","comments_url":"https://api.github.com/repos/boto/botocore/issues/737/comments","events_url":"https://api.github.com/repos/boto/botocore/issues/737/events","html_url":"https://github.com/boto/botocore/pull/737","id":121126377,"number":737,"title":"Decode JSON pagination tokens.","user":{"login":"JordonPhillips","id":2643092,"avatar_url":"https://avatars.githubusercontent.com/u/2643092?v=3","gravatar_id":"","url":"https://api.github.com/users/JordonPhillips","html_url":"https://github.com/JordonPhillips","followers_url":"https://api.github.com/users/JordonPhillips/followers","following_url":"https://api.github.com/users/JordonPhillips/following{/other_user}","gists_url":"https://api.github.com/users/JordonPhillips/gists{/gist_id}","starred_url":"https://api.github.com/users/JordonPhillips/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JordonPhillips/subscriptions","organizations_url":"https://api.github.com/users/JordonPhillips/orgs","repos_url":"https://api.github.com/users/JordonPhillips/repos","events_url":"https://api.github.com/users/JordonPhillips/events{/privacy}","received_events_url":"https://api.github.com/users/JordonPhillips/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/boto/botocore/labels/needs-review","name":"needs-review","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-12-08T23:38:55Z","updated_at":"2015-12-18T00:57:45Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/boto/botocore/pulls/737","html_url":"https://github.com/boto/botocore/pull/737","diff_url":"https://github.com/boto/botocore/pull/737.diff","patch_url":"https://github.com/boto/botocore/pull/737.patch"},"body":"Fixes aws/aws-cli#1601\r\n\r\nThe issue was that dynamodb sends back dicts for pagination tokens rather than strings like other services do. When you hit a boundary, the `NextToken` we return would look something like this:\r\n\r\n`{'foo': 'bar'}___1234`\r\n\r\nWhen you pass that back in as the `StartingToken` for the next request we take the bits before `___`  and pass them into the request. The issue is that we take that as the string `\"{'foo': 'bar'}\"` instead  of the dict `{'foo': 'bar'}`. So when we pass that in, parameter validation would fail.\r\n\r\nThis PR will attempt to parse the prefix into a dict before passing it along. If it fails, it will fall back to previous behavior. \r\n\r\ncc @kyleknap @mtdowling @rayluo @jamesls "},"comment":{"url":"https://api.github.com/repos/boto/botocore/issues/comments/165627681","html_url":"https://github.com/boto/botocore/pull/737#issuecomment-165627681","issue_url":"https://api.github.com/repos/boto/botocore/issues/737","id":165627681,"user":{"login":"JordonPhillips","id":2643092,"avatar_url":"https://avatars.githubusercontent.com/u/2643092?v=3","gravatar_id":"","url":"https://api.github.com/users/JordonPhillips","html_url":"https://github.com/JordonPhillips","followers_url":"https://api.github.com/users/JordonPhillips/followers","following_url":"https://api.github.com/users/JordonPhillips/following{/other_user}","gists_url":"https://api.github.com/users/JordonPhillips/gists{/gist_id}","starred_url":"https://api.github.com/users/JordonPhillips/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JordonPhillips/subscriptions","organizations_url":"https://api.github.com/users/JordonPhillips/orgs","repos_url":"https://api.github.com/users/JordonPhillips/repos","events_url":"https://api.github.com/users/JordonPhillips/events{/privacy}","received_events_url":"https://api.github.com/users/JordonPhillips/received_events","type":"User","site_admin":false},"created_at":"2015-12-18T00:57:45Z","updated_at":"2015-12-18T00:57:45Z","body":"@jamesls wouldn't it break any time we ever have a value with that separator in there? I agree that it's an issue, but maybe we need to think about why it's there in the first place."}}