我有一些日志文件。我想使用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
答案 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);