0

我正在使用 Python 使用 urllib 查询 WordPress.org API。反过来,WordPress.org 决定使用编码的 PHP StdClass 对象进行响应。如果我使用 PHP 会很棒,但我必须使用 Python。知道如何把它变成字典(没有s:10: "slijekgdds" 前缀)吗?

apiUrl = "http://api.wordpress.org/themes/info/1.0/"
body = urllib.urlencode({
    'action': "query_themes",
    'request': {
        "browse": "featured", 
        'fields': {
            'download_link': True,
            'preview_url': False,
            'screenshot_url': False,
            'description': False,
            'sections': False,
            'screenshots': False,
            'downloaded': False,
            'screenshot_count': False
        }
    }
}, True)

request = urllib.urlopen(apiUrl, body)
response = request.read(200)

这是返回(截断):

O:8:"stdClass":2:{
    s:4:"info";
    a:3:{
        s:4:"page";
        i:1;
        s:5:"pages";
        i:41;
        s:7:"results";
        i:610;
    }
    s:6:"themes";
    a:15{
        i:0;
        O:8:"stdClass":10:{
            #BLAH BLAH
        }
    }
}
4

1 回答 1

0

基于这个,你必须用 pip 或类似的东西安装,我猜这就是你想要的:

from phpserialize import loads, phpobject

python_object = loads(php_serialized_string, object_hook=phpobject)
于 2013-07-02T20:39:13.450 回答