如何在python中嵌套dict中获取整个内部dict?

时间:2013-07-07 15:05:21

标签: python json dictionary json-rpc

我有json rpc dict:

{jsonrpc: "2.0", method: "secret", params: {book: {book_dict}}, "id": 1}

这是我通过ajax提交的内容:

$.ajax({
    url: "RPC2",
    type:'post',
    dataType:'json',
    data : {jsonrpc: "2.0", method: "secret", params: {book: {book_dict}}, "id": 1},
    success: function( data ) {
    console.info(data)
    $( "#temp" ).html( "<strong>" + data + "</strong> degrees" );
    }
    });

以下代码收到的部分:

re=request.REQUEST
for k in re:
    print "dict[%s] =" % k,re[k]

收到的部分是:

dict[id] = 1
dict[jsonrpc] = 2.0
dict[method] = secret
dict[[title]] = my writing
dict[params[author]] = me
...

我想得到params对象:

rep = re.get('params', None)
print rep

在这里,我想要获取对象(书籍),但在这里它只返回我。 如何在嵌套字典中获取并重建对象dict?

print repr(重新):

MergeDict(<QueryDict: {u'params[book][author]': [u'me'], u'params[book
][title]': [u'my writing'], u'jsonrpc': [u'2.0'], u'method': [u'secret'], u'id':
[u'1']}>, <QueryDict: {}>)

ps:我想构建整个对象书: {title:“我的写作”,作者:“我”},但我之前不知道班级名称及其属性名称。所以我只能使用该属性来构建对象。

1 个答案:

答案 0 :(得分:0)

如果你想发布JSON,编码JSON数据结构,jQuery不会为你做这个:

$.ajax({
    url: "RPC2",
    type: 'post',
    dataType: 'json',
    data : JSON.stringify({jsonrpc: "2.0", method: "secret", params: {book: {book_dict}}, "id": 1}),
    success: function( data ) {
        console.info(data);
        $( "#temp" ).html( "<strong>" + data + "</strong> degrees" );
    }
});

请参阅Serializing to JSON in jQuery