好的,json_tree是一个包含如下内容的变量:
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if(!mBluetoothAdapter.isEnabled()) {
mBluetoothAdapter.enable();
}
你能把它作为变量传递......
json_tree = "['time']['updated']"
喜欢这样??
hdr = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)' }
req = urllib.request.Request(url, headers=hdr)
readdata = urllib.request.urlopen(req)
json_data = readdata.read()
json_dict = json.loads(json_data)
我的目的是将.ini中的许多json_tree值中的一个传递给包含上述代码的类。 如果这是一个糟糕的计划,那么有什么用呢?
谢谢!
答案 0 :(得分:1)
这是jsonpath
的用例,其中语法将使用表达式time.updated
来引用相关值。
json_expr = "time.updated"
json_dict = {"time": {"updated": "2018-01-05"}}
from jsonpath_rw import parse as parse_jsonpath
results = parse_jsonpath(json_expr).find(json_dict)
if len(results) == 0:
raise Exception("Could not find any matches for %r in %r" % (json_expr, json_dict))
elif len(results) > 1:
raise Exception("Expression %r had more than one match; cannot use for configuration" % (json_expr,))
result = results[0].value