1

SimpleJSON のドキュメントについて質問があります。たとえば .get() などの関数は、作成者が文書化する必要なく使用できることが暗黙的に理解されていますか? それとも、SimpleJSON の動作の代わりに python の動作に関するものなので、書き留める必要はありませんか? 使用できるドキュメントを見つけることができなかったとき、私は本当にイライラしましたget()

http://simplejson.readthedocs.org/en/latest/index.html

たとえば、次のコード

import simplejson as json
import urllib2


req = urllib2.Request("http://example.com/someJson")
opener = urllib2.build_opener()
f = opener.open(req)

data = json.load(f)

print data.get('results')

この関数に関するドキュメントのどこにも見つかりませんでした。

4

1 に答える 1

3

json.load()JSONドキュメントを逆シリアル化し、Pythonオブジェクトを返します。

だから私はそれdataがaであると言うでしょうdictそしてここに.get()ドキュメントがあります。

Pythonオブジェクトjson.load()が返すものは、彼に与える入力によって異なります。

json.loads()同じことですが、文字列の例:

>>> json.loads('[1, 2, "dog"]')
[1, 2, 'dog']
>>> json.loads('{"animals": ["cat", "dog"], "4": 4}') 
{'animals': ['cat', 'dog'], '4': 4}
>>> json.loads('"dog"') 
'dog'

ご覧のとおり、可能性は無限にあります(ネストすることもできるため)。

解析するjsonファイルの形式がわからない場合は、その構造を理解するためのハックを考え出す必要がありますが、構造がどのようになっているのかを事前に知っておくのが最善です。あなたはその情報を使うつもりなので、おそらくそれを知っているべきです(またはそれを知ることを許されるべきです)。


あなたはすでに知っていると思いますが、将来の参照のために、jsonでURLリクエストを解析するにはそれを指定する必要があることを指摘したいと思います。この答えであなたに指摘されたように。

于 2012-03-27T11:26:37.333 に答える