【发布时间】:2013-04-25 14:42:14
【问题描述】:
一个 ipad 应用程序将此 json 发送给我,我通过 request.POST.get 读取它,然后通过 ast.literal_eval
解析它u'[\n {\n "type" : 2,\n "dateCreated" : "Wed, 24 Apr 2013 17:20:50 0100",\n "dateStart" : "Wed, 24 Apr 2013 18:00:00 0100",\n "appointmentId" : 0,\n "withP" : [\n\n ],\n "seenTime" : null,\n "ofCWithId" : 2,\n "ofClientWithId" : 68,\n "dateEnd" : "Wed, 24 Apr 2013 19:00:00 0100",\n "comments" : "Test test test\n.\n( ) \'\' test \'\' \' test \'\n",\n "inLocation" : null,\n ...bla bla bla...]'
我收到此错误:
'comments' : 'Test test test
^
SyntaxError: EOL while scanning string literal
我可以理解换行符是问题,但我不知道如何解决。我正在使用 django 1.4.2 python 2.7.3
非常感谢您的帮助
【问题讨论】:
-
这个文本是如何生成的?解决此问题的唯一方法是从引用的字符串中删除换行符,但这基本上需要您从头开始编写解析器。
-
另外你的最后一句话没有被引用,所以这也会给你一个 SyntaxError。
-
一个 ipad 应用程序将此 json 发送给我,我通过 request.POST.get 读取它,然后通过 ast.literal_eval 解析它。由于错误消息在测试测试导致问题后显示换行符。
-
既然这应该是JSON,为什么不用
json库来解析呢? -
@DanielRoseman 我将其更改为 json.loads 并解决了问题,谢谢。
标签: python django python-2.7 newline