1

この質問はちょっとした質問ですが、私は一日中頭痛の種でした (私はプログラミングにかなり慣れていないので)。

基本的に、ID (pk という名前) の膨大なリストがあり、他のテキストに囲まれているため、それらすべてを取得する必要があります。

すべての ID を取得するにはどうすればよいですか? ちなみに各IDはこんな感じ。

"pk":12345678
"pk":123456789

ID は 8 桁または 9 桁の数字です。

どうもありがとうございました。

編集者注: アスカーは、完全な json データをこの回答へのコメントに投稿しました。

4

2 に答える 2

0

JSONPathを使用するだけです。すべてを抽出する単純ですが、非常に一般的な方法はids次のとおりです。

>>> from jsonpath import jsonpath
>>> from json import loads
>>> instagram_pop = open("instagram_popular_list.json"), "r").read()
>>> instagram_data = loads(instagram_pop)
>>> jsonpath(instagram_data, '$..id')[:3]
[u'234148392791340801_11305924', u'234098919041318605_2364270', u'234153616185741448_1907035']

もちろん、データはフラットなので、次のような直接ループを回避できます。

[item['id'] for item in instagram_data['items']]

しかし、構造体の解析がもっと必要だと感じているので、jsonpath の方がより柔軟な答えだと思います。

于 2012-07-13T12:52:51.643 に答える
0
ids = [var["pk"]]

ここで、var は JSON の変数です

JSON をもう少し明確にすると、これをより正確にすることができるかもしれません。

于 2012-07-12T19:54:17.297 に答える