0

我有 json rpc 字典:

{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
...

我想获取参数对象:

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

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

打印代表(重新):

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:我想构建整个对象book:{title:“我的写作”,作者:“我”},但我不知道之前的类名及其属性名。所以我只能使用该属性来构建对象。

4

1 回答 1

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" );
    }
});

请参阅在 jQuery 中序列化为 JSON

于 2013-07-07T15:37:53.870 回答