Подтвердить что ты не робот

Исключение кавычек в строке

У меня есть словарь python, например:

[{"pk":"1","name":"John","size":"1/4" "},{},{},etc]

Этот размер составляет 1/4 дюйма, как бы я "убежал" от этой цитаты? Таким образом, он все равно будет отображать его как 1/4 ",

Его список вещей, поэтому я не могу просто его закодировать вручную, как 1/4\", Я попробовал replace('"','\"')

EDIT: Оригинальный список - это текстовое поле в моих моделях Django:

[{'pk': '91', 'size': '', 'name': 'Thread Flat For BF', 'quantity': '2'}, {'pk': '90', 'size': '', 'name': 'Blade Holders Straight ', 'quantity': '26'},{'size':'3"','name':'2m 1/4" Round bar', 'quantity':'43'},{'size':'5','name':'2m 1/8" Round bar', 'quantity':'4'}]

Следующий шаг я должен подготовить список для jQuery, поэтому я заменяю его так, чтобы он был в правильном синтаксисе для json. mat_list = manufactured_part.material_list.replace( "'", '"')

Затем у меня есть этот список:

[{"pk": "91", "size": "", "name": "Thread Flat For BF", "quantity": "2"}, {"pk": "90", "size": "", "name": "Blade Holders Straight ", "quantity": "26"},{"size':"3"","name':"2m 1/4" Round bar", "quantity":"43"},{"size":"5","name":"2m 1/8" Round bar", "quantity":"4"}]

Итак, теперь список отправляется в шаблон, и я прокручиваю его с помощью jquery, но список сломан из-за "в строках".

SO... Мне нужно избежать этих ", чтобы список работал, в противном случае он имеет очевидную синтаксическую ошибку.

Надеюсь, теперь это имеет смысл.

Спасибо

4b9b3361

Ответ 1

Вам нужно избегать обратной косой черты в замене, чтобы напечатать ее. Попробуйте

replace('"','\\"')

Ответ 2

Нет необходимости делать это трудным путем. Пусть Django сериализует заданный вами запрос.

Ответ 4

Вы говорите:

Мне нужно подготовить список для jQuery

Итак, я предполагаю, что вы пытаетесь вывести объекты Python в строковой форме в файл шаблона, преобразованный так, чтобы выходная строка была действительной Javascript-кодом.

Это эквивалентно их сериализации как JSON.

Это решенная проблема, вместо того, чтобы заменять одинарные кавычки двойными кавычками и т.д., просто выполните это:

import json

my_python_data = [{'pk': '91', 'size': '', 'name': 'Thread Flat For BF', 'quantity': '2'}, {'pk': '90', 'size': '', 'name': 'Blade Holders Straight ', 'quantity': '26'},{'size':'3"','name':'2m 1/4" Round bar', 'quantity':'43'},{'size':'5','name':'2m 1/8" Round bar', 'quantity':'4'}]

str_to_output_in_js_template = json.dumps(my_python_data)

Это будет обрабатывать все экранирование для вас и гарантировать, что результат является допустимым объектом Javascript.