从json字符串中删除额外字符并处理非数据类型Python
我试图从json字符串中删除“s:”。当我试图从键值对中删除额外字符时,我看到了错误。请帮助 代码: 错误: nDict={key.strip('s:'):value.strip('s:')对于键,dict.items()中的值 AttributeError:“非类型”对象没有属性“strip”从json字符串中删除额外字符并处理非数据类型Python,json,python-3.x,dictionary,key-value,Json,Python 3.x,Dictionary,Key Value,我试图从json字符串中删除“s:”。当我试图从键值对中删除额外字符时,我看到了错误。请帮助 代码: 错误: nDict={key.strip('s:'):value.strip('s:')对于键,dict.items()中的值 AttributeError:“非类型”对象没有属性“strip” 请告诉我如何处理此错误,这是由于某些值中存在空值。如果数据变量是JSON有效值,可以使用Python的JSON模块对其进行解析 您的错误来自IdealValue键中的null值 nDict={key.s
请告诉我如何处理此错误,这是由于某些值中存在空值。如果
数据
变量是JSON有效值,可以使用Python的JSON
模块对其进行解析
您的错误来自IdealValue
键中的null
值
nDict={key.strip('s:'):value.strip('s:')对于key,dict.items()中的值(如果value不是None)}
应该可以做到这一点,但是如果dict的值为null
最好,如果您的
数据
变量是JSON有效值,您可以使用Python的JSON
模块对其进行解析
您的错误来自IdealValue
键中的null
值
nDict={key.strip('s:'):value.strip('s:')对于key,dict.items()中的值(如果value不是None)}
应该可以做到这一点,但是如果dict的值为null
最好的
data = "{
"attributeInfo":[
{
"AttributeName":"s:Density",
"Weight":"s:0.2",
"Preference":"s:Closer to a target is better",
"IdealValue":"s:7850"
},
{
"AttributeName":"s:Endurance Strength",
"Weight":"s:0.2",
"Preference":"s:Larger is better",
"IdealValue":null
},
{
"AttributeName":"s:Modulus of Elasticity",
"Weight":"s:0.2",
"Preference":"s:Larger is better",
"IdealValue":null
},
{
"AttributeName":"s:Cost",
"Weight":"s:0.2",
"Preference":"s:Smaller is better",
"IdealValue":null
}
]}"
tmp =[]
li = data['attributeInfo']
for j in range(len(li)):
dict = li[j]
nDict = {key.strip('s:'): value.strip('s:') for key, value in dict.items()}
tmp.append(nDict)
print(nDict)