2012-01-03 80 views
3

我收到了一个包含大量信息的JSON文件,并且我试图获取这个JSON文件的一些属性,我在Python API中进行了研究,但是找不到任何关于某些函数的信息搜索JSON文件或用“加载”方法加载的字符串,有人知道通过简单而干净的操作获取指定信息的方法吗?操纵json文件python

编辑

按照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

您是否尝试过使用钩子函数'object_hook'和load()'''loads()'?另外,请举一个JSON数据的例子,以及你想从中提取的内容。 – hochl 2012-01-03 12:12:09

+0

你想得到什么样的属性?它如何看待你的json文件? – jcollado 2012-01-03 12:14:28

回答

1

您的数据似乎没有正确格式化,特别是我没有看到"servers":后面的一个开口的方括号在哪里,但我会说你要找的是:

data['servers'][0]['status'] 

其中data是指向json.loads的结果的变量。

+0

jcollado它的工作原理,但我必须做到这一点多个JSON对象,我怎么能得到列出的所有服务器的计数在我的循环中做一个限制条件? – guisantogui 2012-01-03 12:43:42

+0

@guisantogui我不确定你的意思。你能详细解释一下吗? – jcollado 2012-01-03 12:47:52

+0

我懂了!谢谢! – guisantogui 2012-01-03 13:17:31