使用Python过滤NBSP空格解决方案

在工作中经常会遇到员工A给员工B通过微信发送一个JSON字符串的场景,而如果直接复制微信中发过来的JSON应用到某些软件中就会报错,如放入Postman中作为请求体数据,就会出现异常,原因是从微信里粘贴过来的JSON都会带有看不见的空格,我们把它放入pycharm编辑器中就会显现出来很多NBSP,如图

解决方案:将下列代码块中的json替换成需要过滤NBSP的JSON字符串后运行即可生成过滤NBSP之后的JSON,将过滤后的JSON复制到postman等工具中就不会报错了。

change_char = \
    '''
    
{
    "username": "liuguoxing",
    "paswd": "123456",
    "id": "1998"
}
    
    '''

new_str = "".join(str(change_char).split())
print(new_str)

结果:

{"username":"liuguoxing","paswd":"123456","id":"1998"}

验证有效性:

为了证实过滤后的内容支持JSON语法且没有语法错误,可进入json.cn进行验证:

点击进入json.cn可对json数据美化并验证错误icon-default.png?t=N2N8http://json.cn 

效果图:

可以清晰的看到右侧可以正常展示出美化后的json样式,说明过滤后组成的json没有任何问题,如果有错的话就会有报错信息提示了,在日常工作中也可以通过这种方式快速有效的验证自己写的json是否存在问题,以及对json进行美化。

将以上代码封装成方法后可实现快速将异常字符剔除,配合if方法和初始值为None的空列表可进行二次过滤。


上文中使用的方法是split(),相当于是根据空格把整个string字符串分割成了多份放入了列表中:

['{', '"username":', '"liuguoxing",', '"paswd":', '"123456",', '"id":', '"1998"', '}']

再使用join方法将这些元素拼接了起来,形成了过滤后的结果。

其实还有方案二:使用strip函数

str.strip('要删除的内容') 

可以直接使用此方法剔除所有的NBSP空格,且支持lstrip()和rstrip()的人性化用法(仅删除左侧或右侧的指定内容)

#使用strip()方法
new_str = "".join(str(change_char).strip())

print(new_str)

结果:

{
    "username": "liuguoxing",
    "paswd": "123456",
    "id": "1998"
}

关注我,不迷路

******我的本文相关专栏******

软件测试 & 开发(单击此处进入)


 ******我的其它作品专栏******

PC常见故障汇总专栏(点击进入)

EXCEL综合场景应用详解(点击此处进入)

全国计算机等级考试-二级python基础(点击此处进入)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Liu_GuoXing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值