Форум сайта python.su
Всем привет
В общем нужно подготовить json ответ и все было хорошо пока я возвращал только простые значения типа
{"p": "8", "r": 17}
{"p": "8", "r": 17, "points":[{"x":1, "y":1},{"x":2, "y":2}]}
result = {} result['p'] = 8 result['r'] = 17 for item in data: j = {} j['x'] = item['x'] j['y'] = item['y'] result['resp']['points'].append(j) return json.dumps(result)
Отредактировано vipTelnet (Янв. 10, 2021 16:00:30)
Офлайн
Не знаю как это связано с php но задача нерешаема пока вы не приведете содержимое переменной data.
Офлайн
В data имеем примерно такой массив
[{ 'x': 4, 'y': 105}, { 'x': 32, 'y': 1}, { 'x': 191, 'y': 1}]
Отредактировано vipTelnet (Янв. 10, 2021 16:58:36)
Офлайн
doza_andДа на php все очень просто
Не знаю как это связано с php
result['resp']['points'][] = j
Отредактировано vipTelnet (Янв. 10, 2021 17:02:27)
Офлайн
Непонятно откуда вы берете p,r и что такое в вашем комментарии j
но если они уже есть
то
d ={"p": "8", "r": 17} d["points"]=[{ 'x': 4, 'y': 105}, { 'x': 32, 'y': 1}, { 'x': 191, 'y': 1}]
result['resp']['points'] = [{ 'x': 4, 'y': 105}, { 'x': 32, 'y': 1}, { 'x': 191, 'y': 1}]
Офлайн
про php Your text to link here… можете почитать тут
переменные p и r
вычисляются в коде и нормально вставляются в список result
ранее в коде было только так и все нормально работало
result = {} result['p'] = 8 result['r'] = 17 return json.dumps(result)
{"p": "8", "r": 17}
[{ 'x': 4, 'y': 105}, { 'x': 32, 'y': 1}, { 'x': 191, 'y': 1}]
for item in data: j = {} j['x'] = item['x'] j['y'] = item['y'] result['resp']['points'].append(j)
Офлайн
[code python]result['resp']['points']=[][/code]
Отредактировано xam1816 (Янв. 10, 2021 17:34:26)
Офлайн
так пишет
result['resp']['points'] = [] TypeError: 'int' object does not support item assignment
Офлайн
result['resp']
Офлайн
я даже пробывал записывать все точки в массив о который потом пытаюсь присвоить result
o = [] for item in data: j = {} j['x'] = item['x'] j['y'] = item['y'] o.append(j) result['resp']['points'] = o
Офлайн