1

リポジトリのリストを返すために、Pythonからbitbucketリクエストを作成しようとしています。応答していますが、フォーマットに「\ n」文字が含まれています。エンコーディングが間違っていると思いますが、修正方法がわかりません。

応答をJSON形式にエンコードするにはどうすればよいですか。

theurl = 'https://api.bitbucket.org/1.0/user/repositories/';
username = 'xxxxx';
password = 'xxxxx';

passman = urllib2.HTTPPasswordMgrWithDefaultRealm();
passman.add_password(None, theurl, username, password);

authhandler = urllib2.HTTPBasicAuthHandler(passman);
opener = urllib2.build_opener(authhandler);
urllib2.install_opener(opener);
pagehandle = urllib2.urlopen(theurl);
output = pagehandle.decode('utf-8');
responseH = output.read();
4

1 に答える 1

2

使ってみませんpython-bitbucketか?以下の例

from api import API
import datetime

    api = API("username", "**password**")
    repos = api.get_repositories()

    for repo in repos:
      print "Name: %s" % repo.name
      print "Owner: %s" % repo.owner
      print "Website: %s" % repo.website
      print "Description: %s" % repo.description
      print "Created on: %s" % datetime.datetime.strftime(repo.created_on, "%c")
      print "Language: %s" % repo.language
      print "SCM: %s" % repo.scm
      for issue in repo.get_issues():
        # Yes, this works too!
        print "Issue title: %s" % issue.title
        print "Issue priority: %s" % issue.priority
        print "Issue content:\n%s\n\n" % issue.content
      for change in repo.get_changesets(limit=5):
        print "Revision/Node: %d:%s" % (change.revision, change.node)
        # Since change.timestamp is a datetime object, we can use formatting on it.
        print "Timestamp: %s" % datetime.datetime.strftime(change.timestamp, "%c")
        print "Commit message:\n%s" % change.message
        print "Affected files: %s" % len(change.files)
        for f in change.files:
          print f.filename
        print "\n"
于 2012-08-20T19:22:12.907 に答える