对从 Zoho Creator 返回的数据使用 json.loads() - extra_data() 错误

Using json.loads() on data returned from Zoho Creator - extra_data() error

我从 zoho creators api 那里得到以下 return:

'var zohoview6 = {"Name_Registration":[     {"Approved":"Yes","Extension":1197,"ID_Number":"","Email":"xxx@yy.com","name_first  ":"Test","Updated":false,"ID":"1257609000000083070","Authorised":true,"NameID":68       }]};'

然后我使用 str.replace 删除 'var zohoview6 = '

但是,当我使用 json.loads(str) 加载结果 str 时,出现以下错误

ValueError: Extra data: line 1 column 192 - line 1 column 193 (char 191 - 192)

这是 return 我的格式很好:

var zohoview6 = 
{
    "Name_Registration":[
        {
        "Approved":"Yes",
        "Extension":1197,
        "ID_Number":"",
        "Email":"xxx@yy.com",
        "name_first":"Test",
        "Updated":false,
        "ID":"1257609000000083070",
        "Authorised":true,
        "NameID":68
        }]
};

我做错了什么?

您还需要删除字符串末尾多余的 ;,例如,str.rstrip():

>>> import json
>>>
>>> s = 'var zohoview6 = {"Name_Registration":[     {"Approved":"Yes","Extension":1197,"ID_Number":"","Email":"xxx@yy.com","name_first  ":"Test","Updated":false,"ID":"1257609000000083070","Authorised":true,"NameID":68       }]};'
>>> data = s.replace("var zohoview6 = ", "").rstrip(";")
>>> json.loads(data)
{u'Name_Registration': [{u'Updated': False, u'Extension': 1197, u'ID_Number': u'', u'Email': u'xxx@yy.com', u'Authorised': True, u'name_first  ': u'Test', u'ID': u'1257609000000083070', u'NameID': 68, u'Approved': u'Yes'}]}