我从 zoho Creators api 得到以下返回:
'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)
这是我格式良好的返回:
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'}]}
关于python - 对 Zoho Creator 返回的数据使用 json.loads() - extra_data() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34971515/