eval使用时报错:Error: name ‘false‘ is not defined解决

eval使用时报错:Error: name 'false' is not defined解决

一、报错原因分析

           eval不支持null,true,false等,没法正确转换为None,True,False等,所以,才明白,此处的错误,是由于字符串中,包含了null,eval函数无法正确解析,所以报错“NameError: name ‘null’ is not defined”。

二、错误处理

https://blog.csdn.net/qq_33547191/article/details/88744494

声明一下,None,True,False等值的赋值

【ps:具体根据要解析的字符串内容去定义】

        globals = {
            'false': False, 'true': True,'null':''
        }

参考博客

三、实际例子

json通过excel读取时数据类型是字符串类型,此时取值时,需要将数据转换成字典形式

1.json举例

{
    "code": 0,
    "data": {
        "id": "999",
        "lastLoginTime": "2021-05-25 17:35:58",
        "loginId": "",
        "orgCode": "",
        "orgName": "福建省医保局",
        "orgType": "1",
        "token": "",
        "userMob": "18877779990",
        "userName": "省医保局"
    },
    "detail": "",
    "fail": false,
    "message": "",
    "success": true,
    "type": ""
}

2.eval解析

【ps:如果封装 成函数时,可以使用global声明】

false = False
true = True
null = ''

a = '{"code":0,"data":{"id":"1227139517987790850","lastLoginTime":"2021-05-28 14:37:49","loginId":"reg_admin","orgCode":"","orgName":"福建省医保局","orgType":"1","token":"","userMob":"18877779990","userName":"省医保局"},"detail":"","fail":false,"message":"","success":true,"type":""}'

print(eval(a))

最终输出:

{'code': 0, 'data': {'id': '1227139517987790850', 'lastLoginTime': '2021-05-28 14:37:49', 'loginId': 'reg_admin', 'orgCode': '', 'orgName': '福建省医保局', 'orgType': '1', 'token': '', 'userMob': '18877779990', 'userName': '省医保局'}, 'detail': '', 'fail': False, 'message': '', 'success': True, 'type': ''}

四、eval使用

转载于:https://blog.csdn.net/qq_29883591/article/details/53443062

eval(expressionglobals=Nonelocals=None)


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值