python将字符串转变成dict格式的实现

yipeiwu_com6年前Python基础

字符串的内容是字典,需将字符串转变成字典格式

s1 = '{"lid":2,"date":"20190211","type":"1,2","page":1}' # dict的key和value用双引号
s2 = "{'lid':2,'date':'20190211','type':'1,2','page':1}" # 单引号

print(type(s1),type(s2)) # <class 'str'> <class 'str'>

第一种方式 json.loads() 必须用双引号,否则会报错

import json
s11 = json.loads(s1)
print(s11,type(s11)) # <class 'dict'>

s22 = json.loads(s2) #报错jExpecting property name enclosed in double quotes 必须双引号
print(s22,type(s22))

第二种方式 eval() -- 不安全。 用ast.literal_eval()替换

s33 = eval(s1)
print(s33,type(s33))

s44 = eval(s2)
print(s44,type(s44))

import ast
s55 = ast.literal_eval(s1)
s66 = ast.literal_eval(s2)
print(s55,s66,type(s55),type(s66))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解基于python-django框架的支付宝支付案例

详解基于python-django框架的支付宝支付案例

一. 开发前的准备 1. 必须了解的知识 SDK:软件开发工具包,可以为开发者提供快速开发的工具 沙箱环境:也就是测试环境 支付宝支付金额的精度:小数点后两位(面试)...

python 实现让字典的value 成为列表

如果想让字典的VALUE成为字典,只有最开始让其成为列表,如下面程序中的b >>> b={} >>> b={1:['sdad']} >>...

python 不以科学计数法输出的方法

其实很简单只需两个语句: import numpy as np np.set_printoptions(suppress=True) 这样就可以搞定 以上这篇python 不以科学...

python中的装饰器详解

在了解装饰器的之前一定要先了解函数作为参数传递, 什么是函数内嵌,请参考我之前写的博客函数简介 因为在python里面,函数也是对象,也可以作为参数进行传递.python装饰器本质也是...

python嵌套字典比较值与取值的实现示例

python嵌套字典比较值与取值的实现示例

前言 本文通过示例给大家介绍了python嵌套字典比较值,取值,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 示例代码 #取值import types allGu...