从变量而不是python中的文件读取json数据
Posted
技术标签:
【中文标题】从变量而不是python中的文件读取json数据【英文标题】:reading json data from variable instead of file in python 【发布时间】:2018-09-01 09:09:56 【问题描述】:我正在创建一个 python 脚本来从 jboss-cli.sh
中提取值,默认情况下返回以下格式的输出:
现在我正在使用以下代码将其转换为 JSON 格式:
from jbossply.jbossparser import JbossParser
parser = JbossParser()
print(parser.parse(OUT))
所以输出如下:
u'outcome': u'success', u'result': u'AverageBlockingTime': u'0', u'AvailableCount': u'0', u'statistics-enabled': False, u'MaxCreationTime': u'0', u'MaxUsedCount': u'0', u'CreatedCount': u'0', u'MaxWaitCount': u'0', u'TimedOut': u'0', u'InUseCount': u'0', u'ActiveCount': u'0', u'TotalBlockingTime': u'0', u'DestroyedCount': u'0', u'AverageCreationTime': u'0', u'TotalCreationTime': u'0', u'MaxWaitTime': u'0'
现在如何从中提取“AvailableCount”。试过 json.load 但不工作。
【问题讨论】:
您使用的是什么版本的 WildFly 或 JBoss EAP? 我问是因为在 WildFly 中现在有一个选项可以添加到jboss-cli.xml
以允许输出为 JSON。 issues.jboss.org/browse/WFCORE-3363
【参考方案1】:
试试这个!
from jbossply.jbossparser import JbossParser
import json
parser = JbossParser()
parser_out = parser.parse(OUT)
json_dump = json.dump(parser_out)
json_load = json.loads(json_dump)
print json_load['result']['AvailableCount']
# op 0
【讨论】:
【参考方案2】:最后我自己得到了答案,将json解析为变量并提取如下结果:
parser = JbossParser()
data=(parser.parse(OUT))
TOTAL_CN=(data["result"]["AvailableCount"])
【讨论】:
好,我不下载你的代码,所以我必须做 json.dump 然后加载!以上是关于从变量而不是python中的文件读取json数据的主要内容,如果未能解决你的问题,请参考以下文章