提交django表单后为什么我有很多“\\”?

时间:2014-01-26 20:10:50

标签: django json postgresql

我有模特的django表格

parameters = fields.JSONField(blank = True,null = True)

键,值 - 输入字段

提交到数据库后,我可以看到:

“”\“\\”{\\\\“interface \\\\”:\\\\“USB,PS / 2 \\\\”,\\\\“color \\\\” :\\\\“black \\\\”,\\\\“保修\\\\”:\\\\“24 \\\\”,\\\\“dpi \\\\”:\ \\\ “800 \\\\”} \\ “\” “”

为什么我有很多“\\”符号?

非常感谢你。

1 个答案:

答案 0 :(得分:0)

你的JSON经历了多次反斜杠转义。

脱掉外部引号:

"\"\\"{\\\\"interface\\\\": \\\\"USB, PS/2\\\\", \\\\"color\\\\": \\\\"black\\\\", \\\\"warranty\\\\": \\\\"24\\\\", \\\\"dpi\\\\": \\\\"800\\\\"}\\"\""

删除一级反斜杠转义符和外引号:

"\"{\\"interface\\": \\"USB, PS/2\\", \\"color\\": \\"black\\", \\"warranty\\": \\"24\\", \\"dpi\\": \\"800\\"}\""

删除另一级别的反斜杠转义符和外引号:

"{\"interface\": \"USB, PS/2\", \"color\": \"black\", \"warranty\": \"24\", \"dpi\": \"800\"}"

最后一个传递给我们实际的JSON:

{"interface": "USB, PS/2", "color": "black", "warranty": "24", "dpi": "800"}

所以真正的问题是是什么代码生成了这个?为什么你期望从表单中获取JSON?