1

私はPythonに関しては初心者であり、JSONオブジェクトなどのデータ構造の使用方法を学ぼうとしていますが、JSONオブジェクトから実際にデータを取得しようとするとちょっと行き詰まります。

これは、コンテンツのサンプルJSONデータファイルです。

{"data":{"internalName":"value","int":1}}

すでに持っているコードを使用してファイル内のデータを印刷することはできますが、の値などの特定の値のみを印刷したいと思いますinternalName。すでに持っているコードを使用してこれを印刷するにはどうすればよいですか?

import json
json_data=open('data.txt')
data = json.load(json_data)
print json.dumps(data)
json_data.close()
4

1 に答える 1

3

結果のデータ構造を辞書のように扱うことができます。この場合、構造内にkey呼び出された があり、そのキーの は別のディクショナリであり、2 つのキーがあります:と. 値にアクセスするには、次の例の構文を使用できます。datavalueinternalNameint

In [1]: import json

In [2]: s = '{"data":{"internalName":"value","int":1}}'

In [3]: data = json.loads(s)

In [4]: print data
{u'data': {u'int': 1, u'internalName': u'value'}}

In [5]: data['data']['internalName']
Out[5]: u'value'

したがって、あなたの場合、 を定義した後data、同様の方法でアクセスできます。また、withファイルを開くために使用することをお勧めします (インデントされたブロックを離れるとき)。

import json

# 'with' is called a context manager, and it handles closing for you when
# you leave the indented block
with open('data.txt', 'r') as f:
    data = json.load(f)

# When the code leaves the indented block, the file is closed for you

# Print the entire structure
print json.dumps(data)

# Print out a piece of the data
print data['data']['internalName']
于 2013-01-07T00:55:37.523 に答える