尝试从名为“new.json”的 JSON 文件中提取数据并将其存储到新的 JSON 中时文件,使用 json.load() 时可能会遇到 ValueError: Extra data 错误。
该错误表明 JSON 文件中存在超出预期的其他数据。当 JSON 数据格式不正确或文件末尾有尾随字符时,可能会发生这种情况。
要解决此问题,请确保 JSON 数据“new.json”格式良好。这意味着它应该符合 JSON 语法规则,例如正确使用引号和大括号。此外,如果 JSON 对象的最后一个右大括号后面有任何尾随字符,则必须将其删除。
替代方法是不立即加载整个 JSON 文件,是逐行迭代文件并将每一行作为单独的 JSON 对象加载。这允许您仅捕获包含有效 JSON 数据的行。具体操作方法如下:
tweets = [] with open('new.json', 'r') as file: for line in file: # skip lines that don't contain JSON objects if not line.strip(): continue # try to load the line as JSON try: tweet = json.loads(line) except ValueError: # ignore lines that cannot be loaded as JSON continue # process the valid tweet data tweets.append(tweet)
此方法将跳过任何空行或不包含有效 JSON 对象的行,从而减少遇到额外数据错误的可能性。
以上是为什么 Python `json.loads` 会抛出 `ValueError: Extra Data` 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!