I receive some data from a GitHub webhook service. It contains info about recent commits in a repository. String I receive looks like this:
payload = {
"ref":"refs/heads/master","commits":[
{"added":[],"author":{"username":"myname","email":"[email protected]","name":"John Doe"},"timestamp":"2011-03-03T02:04:32-08:00","removed":[],"url":"https://github.com/repository/commit/3da6de4ae4550aa84ff16b9b52d8c5179e126dc5","message":"Setup some functions","modified":["apps/api/__init__.py","main.py","utils.py"],"id":"3da6de4ae4550aa84ff16b9b52d8c5179e126dc5"}
],
"compare":"https://github.com/repository/compare/a270fe9...eb26a23","after":"eb26a2312e1955ccb2b7cb50d43682be87c30faa","repository":{"pushed_at":"2011/03/03 02:23:14 -0800","has_issues":true,"has_downloads":true,"url":"https://github.com/repository","watchers":1,"fork":false,"has_wiki":true,"private":false,"size":2248,"forks":1,"created_at":"2011/02/23 04:41:51 -0800","owner":{"email":"[email protected]","name":"john"},"name":"john","language":"Python","open_issues":0},"forced":false,"before":"a270fe954359caa323a9880afc3d6301055ea566"
}
What is the right way to remove that variable payload= and get only the data between {} so that it would be a correct JSON that I can parse with simplejson? Now I just use json_data = json_data.replace('payload=', ''). I am not sure it's a right way to do this. How can I do it a better way? Thanks.
UPDATE I posted a message on GitHub support board with the issue description.
cgimodule for it. But that's possibly overkill here.