我想请求您帮助我解析json。我有一个文件,每一行都像这样:
some hexadecimal numbers|something else|int|UA info|{'computer': {'os': {'version': 'blabla', 'name': 'blabla'}, 'app': {'version': 'blabla', 'name': 'blabla'}}}
我有把每一行分成几部分的代码:
for line in some_file:
line2 = line.split('|')
我想把每一行的最后一部分(应该是json格式的,至少我这么认为)解析出来以备将来使用(我的意思是我想写(到另一个文件)os=name version,app=name version)。我试过这样的方法:
json_string = json.loads(line2[4])
但是python告诉我一些错误:
Expecting property name: line 1 column 2 (char 1)
或者
No JSON object could be decoded
我知道这很愚蠢,但我不知道该怎么办。。。 如果有任何建议,我将不胜感激
它不是JSON,但看起来像python文本
可以使用^{} 转换为python对象:
顺便说一句,问题中少了一个右括号,所以:
JSON需要
double quotes
作为任何字符串文本解析它的一种方法是使用任何YAML parser。
YAML可以解析JSON,对语法的要求不那么严格
对于管道分隔的数据,您可以像这样拆分它们,或者使用
csv
模块来完成。另外,您可以将每个数据块传递给yaml.load
,它将处理转换:输出:
JSONrequires double quotes for strings。这意味着您不能使用
json
按原样加载它我将使用^{} 解析以管道分隔的文件,并使用^{} 将最后一列值安全地加载到Python字典中:
相关问题 更多 >
编程相关推荐