2012-01-03 14 views
3

多くの情報を持つJSONファイルを受け取っています。このJSONファイルのプロパティを取得しようとしています。Python APIで調査しています。 JSONファイルや "loads"メソッドがロードされた文字列を検索すると、誰かが指定した情報をシンプルでクリーンな操作で取得する方法を知っていますか?jsonファイルを操作するPython

EDIT

はJSONファイルを実行した後ロード機能を実行:

{ 
    "servers": [ 
    { 
     "status": "ACTIVE", 
     "updated": "2012-01-02T20:46:21Z", 
     "hostId": "ID", 
     "user_id": "ID", 
     "name": "Serve", 
     "links": [ 
     { 
      "href": "URL", 
      "rel": "self" 
     }, 
     { 
      "href": "URL", 
      "rel": "bookmark" 
     } 
     ], 
     "addresses": { 
     "nuvemcpca": [ 
      { 
      "version": 4, 
      "addr": "10.0.0.2" 
      } 
     ] 
     }, 
     "tenant_id": "nuvemcpca", 
     "image": { 
     "id": "15", 
     "links": [ 
      { 
      "href": "URL", 
      "rel": "bookmark" 
      } 
     ] 
     }, 
     "created": "2012-01-02T20:19:04Z", 
     "uuid": "1710c4bb-3d48-49f9-b88e-2a19355de199", 
     "accessIPv4": "", 
     "accessIPv6": "", 
     "key_name": "name", 
     "progress": 100, 
     "flavor": { 
     "id": "1", 
     "links": [ 
      { 
      "href": "URL", 
      "rel": "bookmark" 
      } 
     ] 
     }, 
     "config_drive": "", 
     "id": 15, 
     "metadata": { 

     } 
} 

私は、ステータス情報を取得したいです。

+1

'load()'/'loads()'と一緒に 'object_hook'フック関数を試してみましたか?さらに、JSONデータの例とそこから抽出したいものを挙げてください。 – hochl

+0

どのようなプロパティを取得しますか?あなたのjsonファイルはどのように見えますか? – jcollado

答えて

1

データが正しくフォーマットされていないように見えます。特に、"servers":の直後の1つの角括弧が表示されていませんが、お探しのものは

です
data['servers'][0]['status'] 

dataは、json.loadsの結果を指す変数です。

+0

jcolladoは動作しますが、複数のjsonオブジェクトに対してこれを行う必要があります。ループ内の制限条件を行うためにリストされたすべてのサーバのカウントを取得するにはどうすればよいですか? – guisantogui

+0

@guisantogui何を意味するのか分かりません。これを詳しく教えていただけますか? – jcollado

+0

私はこれを持っています!ありがとう! – guisantogui