【发布时间】:2015-05-02 00:30:26
【问题描述】:
我有一个 JSON-RPC 格式: [{"priority": "0", "actionsList": [{"type": "OUTPUT", "port": 2}], "match": { “通配符”:3145968,“nw_dst”:“10.0.0.2”,“dl_src”:“00:00:00:00:01:01”,“dl_dst”:“00:00:00:00:04:02 ”,“dl_vlan”:65535,“nw_src”:“10.0.0.1”,“in_port”:3}},{“优先级”:“0”,“actionsList”:[{“type”:“OUTPUT”,“端口”:3}],“匹配”:{“通配符”:3145968,“nw_dst”:“10.0.0.1”,“dl_src”:“00:00:00:00:04:02”,“dl_dst”: “00:00:00:00:01:01”、“dl_vlan”:65535、“nw_src”:“10.0.0.2”、“in_port”:2}}]
我使用以下代码解析:
flowTableJSON = do_func(gopts, opts, args)
print type(flowTableJSON)
print flowTableJSON
for flow in flowTableJSON:
print 'in for loop'
print flow['match']['dl_src']
print flow['match']['dl_dst']
打印变量flowTableJSON输出上面的示例JSON,而flowTableJSON的类型是Nonetype。变量是否可以存储一个值并且是 Nonetype 类型?
本质上,我正在尝试访问 JSON 的每个元素中存储在 dl_dst 中的值;我该怎么做?
【问题讨论】:
-
do_func做了什么? -
它实际上是写
Nonetype而不是NoneType吗?如果是这样,那是某人创建的与None的类型无关的类。 (虽然我无法想象为什么有人会做如此令人困惑的事情,但这样做是合法的。)另外,您确定 JSON 输出来自print flowTableJSON,而不是来自其他一些在你的程序中声明? (如果是,为什么你确定?) -
更重要的是,您可以只复制并粘贴输出而不是描述它吗?