Python 如何修复ValueError:应为属性名称:第4行第1列(字符43)
当我运行python manage.py时,runserver代码给出了错误。而且它的追溯很奇怪 我试过了 和所有类似的问题,但没有得到确切的我所面临的Python 如何修复ValueError:应为属性名称:第4行第1列(字符43),python,json,django,python-2.7,Python,Json,Django,Python 2.7,当我运行python manage.py时,runserver代码给出了错误。而且它的追溯很奇怪 我试过了 和所有类似的问题,但没有得到确切的我所面临的 Traceback (most recent call last): File "manage.py", line 22, in <module> execute_from_command_line(sys.argv) File "/home/tousif/.local/lib/python2.7/site-pac
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/home/tousif/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
utility.execute()
File "/home/tousif/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 308, in execute
settings.INSTALLED_APPS
File "/home/tousif/.local/lib/python2.7/site-packages/django/conf/__init__.py", line 56, in __getattr__
self._setup(name)
File "/home/tousif/.local/lib/python2.7/site-packages/django/conf/__init__.py", line 41, in _setup
self._wrapped = Settings(settings_module)
File "/home/tousif/.local/lib/python2.7/site-packages/django/conf/__init__.py", line 110, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/tousif/Desktop/ITP/ITP/itpcrm/itpcrm/settings.py", line 55, in <module>
cfg = json.loads(open('/home/tousif/Desktop/ITP/ITP/itpcrm/config.json', 'r').read())
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 4 column 1 (char 43)
“db”后面的空行以unicode代码点0x200B(“零宽度空间”)开始。这就是导致JSON解码器出错的原因
我将文本复制到gvim
中并制作了一个屏幕截图。见下文
删除那些字符(或整行),它就会工作
(使用十六进制编辑器查看JSON文件也会清楚地显示问题。)
如果仔细查看错误消息,可以发现这正确识别了问题:
ValueError:应为属性名称:第4行第1列(字符43)
这个故事的寓意是:注意空白代码点。在“db”之后的空行以unicode代码点0x200B(“零宽度空间”)开始。这就是导致JSON解码器出错的原因
我将文本复制到gvim
中并制作了一个屏幕截图。见下文
删除那些字符(或整行),它就会工作
(使用十六进制编辑器查看JSON文件也会清楚地显示问题。)
如果仔细查看错误消息,可以发现这正确识别了问题:
ValueError:应为属性名称:第4行第1列(字符43)
这个故事的寓意是:注意空白代码点。很可能您的json文件已损坏,但我们需要查看其内容。在跟踪输出中,我看到了前面提到的
/home/tousif/Desktop/ITP/itpcrm/config.json
。该文件的json格式可能不正确。让我将其粘贴到这里。@RedCricket文件在这里更新。@snakecharmerb文件在这里更新很可能您的json文件已损坏,但我们需要查看其内容。在跟踪输出中,我看到了提到的/home/tousif/Desktop/ITP/itpcrm/config.json
。该文件的json格式可能不正确。让我将其粘贴到这里。@RedCricket文件在这里更新。@snakecharmerb文件在这里更新谢谢。解决了的。请把我的问题投赞成票好吗?谢谢。解决了的。请把我的问题投赞成票好吗?
{
"dev": {
"db": {
"ENGINE": "django.db.backends.mysql",
"NAME": "itpcrm",
"USER": "root",
"PASSWORD": "password",
"HOST": "localhost",
"PORT": "3306"
},
"jwt_key": "GRESDFwef3452fwefer",
"voice_api_url": "http://192.112.255.32:9040",
"voice_api_key": "3123",
"auth_api_key": "379h4f73f",
"provisioner_api_key": "abc",
"quote_approval_url": "http://192.112.255.145:9998/quotes/customer-approval?token=",
"docusign_base_url": "https://demo.docusign.net/restapi",
"docusign_integrator_key": "8a256bde-405b",
"docusign_oauth_base_url": "account-d.docusign.com",
"docusign_redirect_uri": "http://192.112.255.145:9998/api/callbacks/docusign",
"docusign_private_key_filename": "/home/itp/docusign-examples/keys/docusign_private_key.txt",
"docusign_user_id": "7f2444f-ae99-54922fec68f6",
"docusign_user_name": "dor.com"
},
"prod": {
"db": {
"ENGINE": "django.db.backends.mysql",
"NAME": "itp",
"USER": "it",
"PASSWORD": "password",
"HOST": "192.168.3.111",
"PORT": "3306"
},
"jwt_key": "rRregrgERg54g564heRGRfdsger",
"voice_api_url": "https://api.crm.itpscorp.com/itpvoice",
"voice_api_key": "abc1",
"auth_api_key": "379h4f73f3279fy927yf928oowqofabdbf",
"provisioner_api_key": "abc123123",
"quote_approval_url": "http://192.112.255.145:9998/quotes/customer-approval?token=",
"docusign_base_url": "https://demo.docusign.net/restapi",
"docusign_integrator_key": "8a256bde-405b-4032-bf24-be0245631f03",
"docusign_oauth_base_url": "account-d.docusign.com",
"docusign_redirect_uri": "http://192.112.255.145:9998/api/callbacks/docusign",
"docusign_private_key_filename": "/home/itp/docusign-examples/keys/docusign_private_key.txt",
"docusign_user_id": "7f26f6bb-8a39-444f-ae99-54922fec68f6",
"docusign_user_name": "docusign@itpfiber.com"
},
"mode": "dev"
}