Не могу вставить новые строки в JSON - PullRequest
0 голосов
/ 10 апреля 2019

Я использую Fresdesk API для создания билетов в моем приложении Django. Интеграция работает отлично, однако, когда я пытаюсь использовать код \n для создания новых строк в заявке, на странице поддержки в Freshdesk ничего не появляется.

Пример показан ниже:

items_changed = 'Nome do Item: T-Shirt Masculina Long. Cubo Mágico \n Tamanho: P / Branco \n SKU: 1913511271 - Branco - P \n Tipo: Troca \n Motivo: Não gostei \n Preço: R$79.90 \n Quantidade: 1 \n \n Nome do Item: T-Shirt Feminina Gola Choker Cansei \n Tamanho: G / Branco \n SKU: 1916211244 - Branco - G \n Tipo: Troca \n Motivo: O tamanho não serviu \n Preço: R$79.90 \n Quantidade: 1'

payload = {"description": items_changed + ' Dados do cliente: ' + client_data,
                   "subject": "Troca/Devolução de itens",
                   "email": user_email,
                   "priority": priority['high'],
                   "status": status['open'],
                   "group_id": group['Atendimento'],
                   "type": "Troca",
                   "product_id": client[client_id]
                   }
headers = {
            'Content-Type': "application/json",
            'Cache-Control': "no-cache"
        }
response = requests.request("POST", url, data=json.dumps(payload), headers=headers, auth=('****', 'X'))

Проблема в том, что вывод не соответствует ожидаемому.

Финальный билет представлен ниже:

Nome do Item: Футболка мужская, длинная. Cubo Mágico Tamanho: P / Branco SKU: 1913511271 - Branco - P Tipo: Troca Мотив: Não gostei Preço: R $ 79,90 Квантовый набор: 1 номе предмета: Футболка Feminina Gola Choker Cansei Tamanho: G / Branco SKU: 1916211244 - Bran G Типо: Troca Мотиво: O tamanho não serviu Preço: R $ 79,90 Квантидада: 1 Dados do cliente: Ном: Эрико Скорпион, CPF: 06734142990, Телефон: 456543456765, Endereço: Rua 1 / Fpolis - SC

Как сделать так, чтобы новые строки появлялись в финальном тикете?

1 Ответ

0 голосов
/ 10 апреля 2019

Все управляющие символы в допустимом JSON должны быть экранированы. Итак, вам нужно экранировать символы новой строки с дополнительным \.

items_changed = 'Nome do Item: T-Shirt Masculina Long. Cubo Mágico \\n Tamanho: P / Branco \\n SKU: 1913511271 - Branco - P \\n Tipo: Troca \\n Motivo: Não gostei \\n Preço: R$79.90 \\n Quantidade: 1 \\n \\n Nome do Item: T-Shirt Feminina Gola Choker Cansei \\n Tamanho: G / Branco \\n SKU: 1916211244 - Branco - G \\n Tipo: Troca \\n Motivo: O tamanho não serviu \\n Preço: R$79.90 \\n Quantidade: 1'

...