日志文件到json文件转换

时间:2016-02-05 09:00:28

标签: python json

我有一些日志文件。我想使用python.required json格式将这些文件的内容转换为first_name格式

json

我在{ "content": { "text" : // raw text to be split }, "metadata";: { ...meta data fields, eg. hostname, logpath, other fields passed from client... } } 尝试json转储,但意外错误即将来临......任何建议都会很棒。 感谢..

错误我得到了:

python 2.7

示例数据:

Traceback (most recent call last): 
File "LogToJson.py", line 12, 
in <module> f.write(json.dumps(json.loads(f1), indent=1)) 
File "/usr/lib/python2.7/json/__init__.py", line 338, 
in loads return _default_decoder.decode(s) 
File "/usr/lib/python2.7/json/decoder.py", line 366, 
in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer

2 个答案:

答案 0 :(得分:2)

如果没有为完成任务而编写的代码,很难推荐一些东西。但是,根据您的评论,我认为您正在使用json.loads()从文件中读取,但它仅适用于json格式的python字符串。要从文件中读取,您应该使用json.load(),但在这种情况下,文件的内容必须已经是json格式。因此,我建议逐行读取日志文件,进行一些解析,给它一些结构(例如用它创建一个python dict对象),然后将其转换为json并将其写回新文件。 您最好查看this documentation

答案 1 :(得分:0)

您需要编写一个解析器,它可以将您的syslog输出转换为json格式。我建议使用re来解析它并根据需要使用你的dict中的值。

示例代码:

UIGraphicsBeginImageContextWithOptions(CGSizeMake(width, height), YES, 0);