2014-03-12 55 views
0

我有一個由嵌套JSON結構組成的文本文件,我需要從文件中選擇對象並將其打印在單獨的文件中行明智的時尚。例如,從文本文件中檢索JSON對象並從每行的文件中打印每個對象使用Python

假設

我有記錄的陣列我的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中完成

+0

是'對象:'其實在文件中?如果是這樣,它是無效的JSON ... – mgilson

+1

到目前爲止,你遇到了什麼問題?你有一個JSON列表,用json模塊解析它並不難,然後用一個換行符將每個單獨的值寫出到另一個文件中。 –

+0

這已經被編入Python了,並且有很好的文檔記錄。 http://docs.python.org/2.7/library/json.html – QuestionC

回答

0

看到這個問題...

Parsing values from a JSON file using Python?

有您的問題的信息。 @ mgilson是正確的。你需要分析你的「弦」額外caracters見下圖:

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如何工作的好幫手。

相關問題