Python 给出json.decoder.jsondeCoderror的有效json:应为'';分隔符

Python 给出json.decoder.jsondeCoderror的有效json:应为'';分隔符,python,json,Python,Json,我正在学习如何使用python处理json,但它给了我一个错误 这是我的密码 import json people_string = """ { "people": [ { "name": "John Smith", "phone": 666-625-7263, "emails": ["john.smi

我正在学习如何使用python处理json,但它给了我一个错误

这是我的密码

import json
people_string = """
{
"people": [
    {
        "name": "John Smith",
        "phone": 666-625-7263,
        "emails": ["john.smith@fakemail.com","johnsmith@workmail.com"],
        "has_license": false
    },
    {
        "name": "Jane Doe",
        "phone": 666-625-7263,
        "emails": null,
        "has_license": true 
    }
  ]
} 
"""
data = json.loads(people_string)
我得到以下错误:

Traceback (most recent call last):
  File "c:/Users/Tanishq/Desktop/Tanishq-imp/python tutorials/json-35.py", line 20, in <module>
    data = json.loads(people_string) #https://docs.python.org/3/library/json.html#encoders-and-decoders
  File "C:\Users\Tanishq\AppData\Local\Programs\Python\Python38-32\lib\json\__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "C:\Users\Tanishq\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\Tanishq\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting ',' delimiter: line 6 column 21 (char 71)
回溯(最近一次呼叫最后一次):
文件“c:/Users/Tanishq/Desktop/Tanishq imp/python tutorials/json-35.py”,第20行,在
data=json.loads(人员字符串)#https://docs.python.org/3/library/json.html#encoders-和解码器
文件“C:\Users\Tanishq\AppData\Local\Programs\Python 38-32\lib\json\\uuuu init\uuuu.py”,第357行,加载
返回\u默认\u解码器。解码
文件“C:\Users\Tanishq\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py”,第337行,在decode中
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
文件“C:\Users\Tanishq\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py”,第353行,原始解码
obj,end=self.scan_一次(s,idx)
json.decoder.JSONDecodeError:应为','分隔符:第6行第21列(字符71)

您的错误在json文本字符串中,您对电话的定义不正确

你应该这样做

....
    "phone": "666-625-7263",
....

我的意思是,数字必须介于“”之间,因为它是一个字符串,而不是一个数字(因为-符号)

双引号将
手机的
值括起来(


phone
字段无效,应该用双引号括起来。错误消息会准确地告诉您要查找的位置。
import json
people_string = '''
{
"people": [
    {
        "name": "John Smith",
        "phone": "666-625-7263",
        "emails": ["john.smith@fakemail.com","johnsmith@workmail.com"],
        "has_license": false
    },
    {
        "name": "Jane Doe",
        "phone": "666-625-7263",
        "emails": null,
        "has_license": true 
    }
  ]
}'''
data = json.loads(people_string)