私は次のような Python 辞書を持っています:
[{"pk":"1","name":"John","size":"1/4" "},{},{},etc]
そのサイズは 1/4 インチですが、その引用符を「エスケープ」するにはどうすればよいでしょうか。それでも 1/4 インチとして表示されます。
これはリストなので、手動でコーディングすることはできません1/4\"
。replace('"','\"')
編集: 元のリストは、私の 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 でループ処理されますが、文字列内の " のせいでリストが壊れてしまいます。
つまり、リストが機能するためには、これらの " をエスケープする必要があります。そうしないと、明らかな構文エラーが発生します。
これで意味が理解できたと思います。
ありがとう
ベストアンサー1
置換後のバックスラッシュを印刷するには、エスケープする必要があります。
replace('"','\\"')