如何使用python从数据中获取特定值?

时间:2018-03-27 07:48:50

标签: string python-3.x list

data = ['{"osc":{"version":"1.0"}}']

data =  ['{"device":{"network":{"ipv4_dante":{"auto":"testing"}}}}']

从上面的代码中,我只得到随机输出,但我需要得到最后一个值,即“1.0”或“测试”等等。

我总是需要得到最后一个值。我怎么能用python做到这一点?

2 个答案:

答案 0 :(得分:2)

词典没有"最后"元件。假设你的字典没有分支,你想要最深的"元素,这应该工作:

import json
data =  ['{"device":{"network":{"ipv4_dante":{"auto":"testing"}}}}']

obj = json.loads(data[0])
while isinstance(obj, dict):
    obj = obj[list(obj.keys())[0]]
print(obj)

答案 1 :(得分:0)

这应该有效 -

import ast
x = ast.literal_eval(data[0])
while(type(x)==dict):
    key = x.keys()[0]
    x = x.get(key)
print(x)