Есть несколько похожих тем, НО все они описывают, как анализировать вложенный JSON, если вы знаете количество и имена идентификаторов. Что мне нужно сделать, это общий код.
Я создаю WEB-приложение, которое использует несколько различных запросов GET / POST / DELETE.
Теперь я сосредоточен на разборе GET-запросов.
Теперь у меня есть общий шаблон, который анализирует не вложенный ответ JSON.
мой универсальный json.html
[...]
{% if response %}
{% for id, value in response.items %}
<p>{{ id }}: {{ value }}</p>
{% endfor %}
{% else %}
<p>No IDs are available.</p>
{% endif %}
[...]
и его совершенно универсальный, отлично работает для всех ответов, которые я получаю, если они не вложены (id: value) для примера:
version: 3.4
level:
system: unix
server_time: 1560252637000
server_utc: 2
но когда я получаю вложенный ответ json, этот шаблон не так хорош. Ответ выглядит так:
transfers: [{'direct': 'SEND', 'type': 'MESSAGE', 'compatstate': 'T', 'ack': '', 'state': 'T', 'phase': 'X', 'phasestep': 'X', 'idf': 'NOW', 'idt': 'F1112091', 'frec': '', 'msg': 'test'}]
numberOfSelectedRecords: 2
numberOfUsedRecords: 2
numberOfRecords: 10000
offset: 0
добавление вида, может быть, это будет полезно:
def transfers(request, host_id):
hostname = Host.objects.get(pk=(host_id))
response = requests.get(
'https://{}:1769/v1/transfers?fields=aa%bb'.format(hostname),
verify='/cert/cacerts.pem',
headers={'Accept': 'application/json', 'Authorization': 'Basic xxxxxxxxxxxxxxxxxxxxx'},
).json()
context = {'response': response, 'hostname': hostname}
return render(request, 'app/json.html', context)
У меня вопрос: возможно ли создать общий шаблон, который бы анализировал вложенные ответы json? Должно ли это быть проанализировано в html-шаблоне или где-то внутри представлений перед передачей его в шаблон?