我正在尝试检查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的评论。