我需要来自xml_parser
视图的json响应。我只得到一个dict而不是多个dict。。似乎我的for循环逻辑是错误的。。你能帮我纠正一下吗。。?你知道吗
def xml_parser(request):
for child in root.findall('GetAll'):
for geoloc in child.iter('loc'):
geoinfo = geoloc.attrib
pprint.pprint(geoinfo)
jsoninfo = json.dumps(geoinfo, ensure_ascii=False)
return HttpResponse(jsoninfo, content_type='application/json')
好的,现在pprint显示,这就是我想要的输出
{'lat': '36.15900011', 'lon': '-115.17205183'}
{'lat': '36.15899561', 'lon': '-115.17276155'}
但是url http://127.0.0.1:8000/parser
显示了{"lat": "36.15899561", "lon": "-115.17276155"}
,我能知道为什么吗?你知道吗
jsoninfo
的赋值发生在for循环外部,而geoinfo
的赋值发生在for循环内部。您需要将所有geoloc.attrib
值聚合到一个列表中,并在末尾将其转换为json:这假设您实际上打算输出一个JSON对象作为响应,而不是由换行符分隔的两个独立对象编码。你知道吗
每次在循环中都会覆盖
geoinfo
。您没有存储所有结果。考虑创建一个空列表,附加到它,并将其作为响应发送回去相关问题 更多 >
编程相关推荐