zoukankan      html  css  js  c++  java
  • Python中 字符串 转换为 字典

    需求:把以下字符串转换为字典

    #字符串
    testStr = '{ "pName": "Ceshi", "gender": 1, "country": 156, "countryType": 1, "nation": 1, "province": "北京市" }'

    转换为:testDic = { "pName": "Ceshi", "gender": 1, "country": 156, "countryType": 1, "nation": 1, "province": "北京市" }

    方法1:通过 json 转换

    import json
    testDic = json.loads(testStr)

    缺点:json 规定 由零个或多个Unicode字符组成的字符串,需要用双引号括起来,使用反斜杠转义。

            如果字符串中用单引号会报错:json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes。

         

    方法2:通过eval转换

    testDic = eval(testStr)

    缺点:存在安全问题,eval在转换类型的同时可以执行字符串中带有的执行语句,如下:

    test = eval("print('傻')")
    print(test)
    
    '''
    执行结果: 傻 None
    '''

    方法3:通过as.literal_eval()转换(推荐)

    import ast
    testDic = ast.literal_eval(testStr)
  • 相关阅读:
    正则表达式
    前端开发工程师
    前端开发工程师
    Java开发工程师(Web方向)
    Java开发工程师(Web方向)
    Java开发工程师(Web方向)
    Java开发工程师(Web方向)
    Java开发工程师(Web方向)
    前端开发工程师
    前端开发工程师
  • 原文地址:https://www.cnblogs.com/belle-ls/p/10318912.html
Copyright © 2011-2022 走看看