从文本文件中检索JSON对象&使用Python从每行的文件中打印每个对象

时间:2014-03-12 16:30:48

标签: python json

我有一个由嵌套JSON结构组成的文本文件,我需要从文件中选择对象并以行方式将其打印在单独的文件中。例如,

让我们说

我的JSON文件中有一系列记录

object: [{"ID":198888,"sub":"nnn","topic":"python"},{"ID":19889,"sub":"nnj","topic":"jython"}]

我必须解析上面的文件并重新打印另一个文件中的对象

{"ID":198888,"sub":"nnn","topic":"python"}
{"ID":19889,"sub":"nnj","topic":"jython"}

这必须在Python中完成

2 个答案:

答案 0 :(得分:0)

看到这个问题......

Parsing values from a JSON file using Python?

了解您的问题。 @mgilson是对的。你需要额外的字符来解析你的"字符串"见下文:

import json
>>> data = json.loads('{"object": [{"ID":198888,"sub":"nnn","topic":"python"},{"ID":19889,"sub":"nnj","topic":"jython"}]}')
>>> data
{u'object': [{u'topic': u'python', u'ID': 198888, u'sub': u'nnn'}, {u'topic': u'jython', u'ID': 19889, u'sub': u'nnj'}]}

此方法访问数据的第一个对象object

>>> data['object']
[{u'topic': u'python', u'ID': 198888, u'sub': u'nnn'}, {u'topic': u'jython', u'ID': 19889, u'sub': u'nnj'}]

此命令可访问object

的第一项
>>> data['object'][0]
{u'topic': u'python', u'ID': 198888, u'sub': u'nnn'}

此命令可访问object

的第二项
>>> data['object'][1]
{u'topic': u'jython', u'ID': 19889, u'sub': u'nnj'}

Data Structures Python是了解Python工作原理的好方法。

答案 1 :(得分:0)

Python's built-in json library

查看json.loads()和json.dumps()