我有下面的文件,它是json转储的结果。
"fdd6a102-359c-4527-8469-4ef01a9c0076": "[\n {\n \"resource_status\": \"CREATE_COMPLETE\", \n \"resource_name\": \"i4_instance_internal_port\", \n \"resource_type\": \"OS::Neutron::Port\", \n \"physical_resource_id\": \"5db1d412-9a43-45c7-b72d-0dbe4eb16497\", \n \"updated_time\": \"2017-07-14T09:00:44\"\n }, \n {\n \"resource_status\": \"CREATE_COMPLETE\", \n \"resource_name\": \"i3_instance\", \n \"resource_type\": \"OS::Nova::Server\", \n \"physical_resource_id\": \"50375d90-5b57-412e-afe3-fdddefbd2f41\", \n \"updated_time\": \"2017-07-14T09:00:44\"\n }, \n {\n \"resource_status\": \"CREATE_COMPLETE\", \n \"resource_name\": \"i3_v1_instance_volume\", \n \"resource_type\": \"OS::Cinder::Volume\", \n \"physical_resource_id\": \"6750dc3d-e682-4a0c-a177-83a7252822fb\", \n \"updated_time\": \"2017-07-14T09:00:44\"\n }\n]\n"
我想这个文件是乱七八糟的。它的格式不对。我研究了如何在json中转储
def pp_another_json(myDict):
import io
try:
to_unicode = unicode
except NameError:
to_unicode = str
# Write JSON file
with io.open('data.json', 'w', encoding='utf8') as outfile:
str_ = json.dumps(myDict,
indent=4, sort_keys=True,
ensure_ascii=False)
outfile.write(to_unicode(str_))
class getstackList():
def getStackID(self):
stacks = get_objects('stacks')
myDict = {}
for stack in stacks:
try:
myDict[stack.id] = subprocess.check_output(["openstack", "stack", "resource", "list", stack.id, "-f", "json"])
pp_another_json(myDict)
except subprocess.CalledProcessError as e:
print("Error")
openstack资源列表-f json的输出格式如下
[
{
"resource_status": "CREATE_COMPLETE",
"resource_name": "i4_instance_internal_port",
"resource_type": "OS::Neutron::Port",
"physical_resource_id": "5db1d412-9a43-45c7-b72d-0dbe4eb16497",
"updated_time": "2017-07-14T09:00:44"
},
{
"resource_status": "CREATE_COMPLETE",
"resource_name": "i3_instance",
"resource_type": "OS::Nova::Server",
"physical_resource_id": "50375d90-5b57-412e-afe3-fdddefbd2f41",
"updated_time": "2017-07-14T09:00:44"
},
]
现在我的问题
如果有人能解释我的json文件,这将是有帮助的。或者如果没有请指导我到可以帮助我理解嵌套字典的链接
编辑:获取我在下面做的值,并给我
值错误:解压缩的值太多
with open('data.json') as data_file:
data_loaded = json.load(data_file)
for key, value in data_loaded:
print(data_loaded[key][0]['resource_status'])
在python中,JSON转储可以看作是一个简单的字典。因此,对于第一部分,您可以使用以下内容:
import json
#Assuming 'mydict' contains the json dump
with open('out.json', 'w') as outfile:
json.dump(mydict, outfile)
现在进入第二部分,假设对于示例中的第一个元素(fdd6a102-359c-4527-8469-4ef01a9c0076"),您需要访问列表中第一个元素的资源状态键,您只需使用以下方法:
myjson["fdd6a102-359c-4527-8469-4ef01a9c0076"][0]['resource-status']
更多信息可以在这里找到。
最后一部分,您将在嵌套JSON上查看此答案。
我有作为字符串的公钥和私钥,它们是由Webcrypto API RSA-OAEP算法生成的。我想加密和解密一些纯文本,使用这些和获得异常时,试图转换字符串到字节数组 Java代码: 例外情况: 线程“main”Java.lang.IllegalArgumentException中出现异常:Java.util.base64$Decoder.Decode0(base64.:714)Java.util.
问题内容: 我正在使用发布JSON响应的第三方工具。它工作得很好,但是我需要使用的键之一里面有一个冒号,而且我不知道如何在JavaScript中选择该对象。 例如: 我该如何选择?当我将冒号留在其中以及尝试放下冒号时,会出现语法错误。 问题答案: 这很简单: 点/括号符号
我用过这个命令 生成密钥库。它工作正常,但从我读到的内容来看,这个命令还应该提示您输入密钥密码(而不是存储密码)?我从来没有收到过这样的提示。我能跑 查看密钥库的内容。钥匙似乎就在那里。。。正确的别名在那里。在哪里获取/设置特定别名的密码? 我有一个key.properties在Android目录 在build.gradle我有: 当我试图生成一个发布版本时,我得到了 我想它可能与keyPassw
问题内容: 从值中获取单个密钥 我想从以下JSON进行向后选择。我想提取特定状态的缩写。在这种情况下,缩写是关键,而我要开头的值就是值。 当然,我可以遍历每个值,将值与我的值进行比较,并在匹配时选择键。这是处理类似问题的最佳方法吗?或者,还有更好的方法? 反转JSON数据 另一种选择是在处理的早期反转此数据,以给我自己交换密钥/值的一组相似值。我会对看到有效地执行此操作的方法感兴趣。 问题答案:
我有一个用秘密定义的Azure密钥库,我可以使用“Azure密钥库”任务在devops构建管道中访问它。现在我需要将秘密变量传递给python内联脚本。 由于它是加密的,python无法直接读取该值。我如何解密并传递它们。这个秘密持有Databricks的访问令牌。我们正在尝试使用DevOps管道创建Databricks集群。 我的Yaml有以下任务 Azure KeyVault Powershe
我需要在apache nifi中进行json转换。有效负载中的json键将动态生成。例如,在下面给出的输入中,“客户”具有属性“fname”和“lname”。我需要更改这个“fname”- 因为我是nifi的新手。我不知道从哪里开始。我试过一些json变形金刚比如jolt。但是没有达到预期的效果。 我使用的颠簸变换如下: 产生了输出 我需要实现的输入和预期输出如下所示: *有没有任何方法可以在使用