如何在python中删除JSON文件中的注释行

2024-10-01 11:25:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在获取以下格式的JSON文件:

// 20170407
// http://info.employeeportal.org

{
 "EmployeeDataList": [
{
 "EmployeeCode": "200005ABH9",
 "Skill": CT70,
 "Sales": 0.0,
 "LostSales": 1010.4
} 
 ]
} 

需要删除文件中存在的额外注释行。在

我尝试使用以下代码:

^{pr2}$

仍然无法从文件中删除注释并 格式正确的JSON文件。在

不知道哪里出了问题?在这方面任何方向都是高度的谢谢。谢谢提前


Tags: 文件代码orginfojsonhttp格式skill
3条回答

您没有正确使用commentjson。它与json模块具有相同的接口:

import commentjson

with open('EmployeeDataList.json', 'r') as handle:
    employee_data = commentjson.load(handle)

print(employee_data)

尽管在这种情况下,您的注释非常简单,您可能不需要安装额外的模块来删除它们:

^{pr2}$

注意,这两个代码片段之间的区别在于使用了json.loads,而不是{},因为您分析的是字符串而不是file对象。在

尝试JSON-minify

JSON-minify minifies blocks of JSON-like content into valid JSON by removing all whitespace and JS-style comments (single-line // and multiline /* .. */).

我通常将JSON作为普通文件读取,删除注释,然后将其解析为JSON字符串。可以用以下代码片段在一行中完成:

with open(path,'r') as f: jsonDict = json.loads('\n'.join([row for row in f.readlines() if len(row.split('//')) == 1]))

IMHO它非常方便,因为它不需要CommentJSON或任何其他非标准库。在

相关问题 更多 >