У меня есть приложение для Android, которое первоначально отправляло некоторые строки в формате json в скрипт Python CGI, который работал нормально.Проблема в том, что когда объект json содержит списки, то python (с использованием simplejson), когда он их получает, по-прежнему обрабатывает их как большую строку
Вот текстовый дамп json, как только он достигает python, прежде чем я его проанализирую:
{"Prob1": "[1, 2, 3]", "Name": "aaa", "action": 1, "Prob2": "[20, 20, 20]", "Tasks": "[1 задание, 2 задание, 3 задание]", "Описание": ""}
Если мы посмотрим на клавишу "Задачи", список после, очевидно, будет одной строкой со всеми обработанными элементамикак одна строка (т.е. без кавычек вокруг каждого элемента).то же самое для prob1 и prob2.действие, имя и т. д. все в порядке.Я не уверен, что именно этого Python ожидает, но я предполагаю, что нет?
На всякий случай, когда виноваты данные Android, я добавил кавычки вокруг каждого элемента массива следующим образом:
Задачи.add ( ' " '+ row.get (1) .ToString () +'"');вместо Tasks.add (row.get (1) .toString ());
На веб-сервере теперь он принимается как
{"Prob1": "[1, 2, 3]", "Имя ":" ааа "," действие ": 1," Проб2 ":" [20, 20, 20] "," Задачи ":" [\ "1 задача \", \ "2 задача \", \ "3task \ "]", "Description": ""}
но у меня все та же проблема;когда я перебираю «Задачи» в цикле, он проходит по каждому отдельному символу, как будто все это строка: /
Поскольку я не знаю, как должна выглядеть структура json, прежде чем она попадет в PythonЯ задаюсь вопросом, является ли это пробой, когда Android отправляет данные, или мой питон интерпретирует их ... хотя, судя по тому, как выглядит этот скрипт, я предположил, что это была отправка.
В приложении для Android I 'm отправка одного большого JSONObject, содержащего «Задачи» и связанный с ним массив в качестве одной из пар ключ-значение ... это правильно?или JSONArray должен быть где-либо задействован?
Спасибо за любую помощь всем, я новичок во всем, что касается JSON, а также в Android / Java (и только на самом деле новичок в Python тоже ..).Я могу опубликовать дополнительный код, если кому-то это нужно, я просто не хотел слишком много удлинять пост
РЕДАКТИРОВАТЬ:
, когда добавляю
json_data = json_data.replace (r '"[',' [')
json_data = json_data.replace (r']" ','] ')
json_data = json_data.replace (r' \ "','" ')
дляпитон это работает !!!!но это кажется мне немного противным и просто оклеивает трещину ..