在Bottle框架中:我如何检查json-rpc是否形成良好?

时间:2014-04-24 09:20:20

标签: python json curl bottle json-rpc

我正在尝试检查cURL向文件发送的json是否格式正确。 电话:

curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "method": "read", "params": {"filename": "test4.txt", "content": "Some content"}, "id": 3}'  http://localhost:8081/rpc/dbfile

文件(在python中)是这样的:

# -*- encoding: utf-8 -*-
import bottle
from bottle import request
import os 
import dbfile 

app = bottle.Bottle() 

@app.post('/rpc/<lib>')
def rpc_test(lib):
    resp = {"jsonrpc": "2.0"}   

    #Check if JSON is valid
    try:
        if request.json:
            json = request.json
            os.system("echo "+ "request.json is ok")          
    except "error_-32600":
        os.system("echo "+ "Invalid request.json")
        resp['error'] = {"code":-32600,"message":"Invalid request.json"} 
        return resp 

当我执行json-rpc代码时,如果这是格式良好的打印在控制台中打印消息“request.json就可以了”。如果json-rpc调用错误应执行except,但没有任何反应。

(对不起我的英文)

解决: 问题是除了使用的字符串。

except "error_-32600":

我将其更改为except:

感谢Daniel的评论。

0 个答案:

没有答案