【问题标题】:want to remove single quotes from value of dictionary only只想从字典的值中删除单引号
【发布时间】:2021-09-01 08:10:48
【问题描述】:

只想从括号前后的值中删除单引号。我不希望它串起来。因为这个单引号,这个json字典就失效了。

{
    'NetworkInterfaces': '[{
        "AssociatePublicIpAddress":true,
        "DeleteOnTermination":true,
        "Description":"Primary network interface",
        "DeviceIndex":0,"Groups":["sg-0b60a9f7e75aba4d4"],
        "Ipv6AddressCount":0,
        "Ipv6Addresses":[],
        "NetworkInterfaceId":"eni-0538f01e55dda59e8",
        "PrivateIpAddress":"172.16.18.79",
        "PrivateIpAddresses":[{"Primary":true,"PrivateIpAddress":"172.16.18.79"}],
        "SecondaryPrivateIpAddressCount":0,
        "SubnetId":"subnet-0b2e2d39e5c1a8af9",
        "InterfaceType":"interface"
        }]'
}

【问题讨论】:

  • 假设你将它设置为变量x,那么做x['NetworkInterfaces'] = JSON.parse(x.NetworkInterfaces);应该可以很好地解决你的问题
  • 你可以尝试做json.loads(),如果你传递的字符串会抛出ValueError
  • 这能回答你的问题吗? How to parse data in JSON format?
  • 你想把它转换成 JSON 吗?为什么要删除引号?
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: python json


【解决方案1】:

您所拥有的是一个带有 JSON 值的字典。您可以简单地使用转换为 Python 对象的 JSON 重新分配值:

import json, pprint
d = { 'NetworkInterfaces': '[{ "AssociatePublicIpAddress":true, "DeleteOnTermination":true, "Description":"Primary network interface", "DeviceIndex":0,"Groups":["sg-0b60a9f7e75aba4d4"], "Ipv6AddressCount":0, "Ipv6Addresses":[], "NetworkInterfaceId":"eni-0538f01e55dda59e8", "PrivateIpAddress":"172.16.18.79", "PrivateIpAddresses":[{"Primary":true,"PrivateIpAddress":"172.16.18.79"}], "SecondaryPrivateIpAddressCount":0, "SubnetId":"subnet-0b2e2d39e5c1a8af9", "InterfaceType":"interface" }]' }
d['NetworkInterfaces'] = json.loads(d['NetworkInterfaces'])
pprint.pprint(d)

输出:

{'NetworkInterfaces': [{'AssociatePublicIpAddress': True,
                        'DeleteOnTermination': True,
                        'Description': 'Primary network interface',   
                        'DeviceIndex': 0,
                        'Groups': ['sg-0b60a9f7e75aba4d4'],
                        'InterfaceType': 'interface',
                        'Ipv6AddressCount': 0,
                        'Ipv6Addresses': [],
                        'NetworkInterfaceId': 'eni-0538f01e55dda59e8',
                        'PrivateIpAddress': '172.16.18.79',
                        'PrivateIpAddresses': [{'Primary': True,      
                                                'PrivateIpAddress': '172.16.18.79'}],
                        'SecondaryPrivateIpAddressCount': 0,
                        'SubnetId': 'subnet-0b2e2d39e5c1a8af9'}]}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 2018-04-10
    • 1970-01-01
    • 2013-10-09
    • 2012-09-26
    • 2023-03-26
    • 2015-07-19
    相关资源
    最近更新 更多