问题描述
有一个Web服务返回这样的内容,我想在此响应中访问 id 。我该怎么办?
const_iterator Nuage<T>::begin() const{
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">{"id":"1819","responseCode":"0","responseMessage":"0"}</string>
- 我尝试使用 response.json()访问JSON中的响应,但出现以下错误:
import requests def sen_request(): url = "somewhere.com/somewhere.asmx/new_one" payload = {} headers= {} response = requests.request("GET",url,headers=headers,data = payload) return (response)
解决方法
代码使用json库和XML库解析来提取ID
import json
import xml.etree.ElementTree as ET
data = '''<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">{"id":"1819","responseCode":"0","responseMessage":"0"}</string>'''
data1 = '''<?xml version="1.0" encoding="utf-8"?><string xmlns="tempuri.org">{"id":{"id1":"1819"},"responseMessage":"0"}</string>'''
root = ET.fromstring(data)
print(json.loads(root.text)['id'])
root = ET.fromstring(data1)
print(json.loads(root.text)['id']['id1'])
输出
1819
1819