最近测试Python调用RestfulApi,解析JSON,使用相应的库后,很简单
程序流程:使用Python从Restful Api接口获取一个Json串,解析并将Json的count值加1,转码Json为Url参数格式,调用更新Api传回服务器。
Json参考定义:
{
"app":"agile-iot.com python test",
"count":1
}
Java版Restful Api定义参考:
@RestController
@RequestMapping
@Slf4j
public class PyInfoController {
private String jsonData = "{ "app":"agile-iot.com python test", "count":1}";
@RequestMapping("/api/v1/py/getJsonData")
public String getJsonData(String jsonName) {
log.info("getJsonData:" + jsonName);
return jsonData;
}
@RequestMapping("/api/v1/py/setJsonData")
public String setJsonData(String jsonName, String jsonData) {
log.info("setJsonData:" + jsonName + ",jsonData:" + jsonData);
this.jsonData = jsonData;
return "setJsonData Ok";
}
}
Python调用示例参考:
import urllib,httplib2,json from urllib.parse import quote http = httplib2.Http() url = 'http://agile-iot.com:8080/api/v1/py/getJsonData?jsonName=appTest' response, content = http.request(url, 'POST', headers=headers) print (content) r = json.loads(content) r["count"] = r["count"]+1 url = "http://agile-iot.com:8080/api/v1/py/setJsonData?jsonName=appTest&jsonData="+quote(json.dumps(r)); print (url) response, content = http.request(url, 'POST', headers=headers) print (content)
主要python库:urllib,httplib2,json



