从json字符串中删除额外字符并处理非数据类型Python

从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字符串中删除“s:”。当我试图从键值对中删除额外字符时,我看到了错误。请帮助

代码:

错误: nDict={key.strip('s:'):value.strip('s:')对于键,dict.items()中的值 AttributeError:“非类型”对象没有属性“strip”


请告诉我如何处理此错误,这是由于某些值中存在空值。

如果
数据
变量是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)