当前位置: 首页 > 编程笔记 >

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

乐正远
2023-03-14
本文向大家介绍python将字符串转变成dict格式的实现,包括了python将字符串转变成dict格式的实现的使用技巧和注意事项,需要的朋友参考一下

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

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中的JSON感到有些困惑。在我看来,这就像是一本字典,出于这个原因,我正在尝试这样做: 但是当我这样做时,它会给出一个错误。 如何将该字符串转换为结构,然后调用以获得“示例词汇表”? 问题答案:

  • 问题内容: 我是Python新手,在格式化对象时遇到问题。 这是我要执行的操作:我有一个对象列表,并且该对象的类的成员之一是对象,它显示事件的持续时间。我想以小时:分钟的格式显示该持续时间。 我尝试了多种方法来执行此操作,但遇到了困难。我当前的方法是为返回小时和分钟的对象添加方法到类中。我可以将除以3600并四舍五入来获得小时数。我在获取剩余秒数并将其转换为分钟时遇到麻烦。 顺便说一下,我正在使用

  • 主要内容:指定最小输出宽度,指定对齐方式,指定小数精度我们在《 第一个Python程序——在屏幕上输出文本》中讲到过 print() 函数的用法,这只是最简单最初级的形式,print() 还有很多高级的玩法,比如格式化输出,这就是本节要讲解的内容。 熟悉C语言 printf() 函数的读者能够轻而易举学会 Python print() 函数,它们是非常类似的。 print() 函数使用以 开头的转换说明符对各种类型的数据进行格式化输出,具体请看下表。

  • 问题内容: 我正在尝试将字符串“ 20091229050936”转换为“ 2009年12月29日(UTC)05:09” 给 显然,我犯了一个错误:时间是错误的,它是日期时间对象!它有一个日期 和 一个时间部分! 给 我如何将字符串转换为格式化的日期字符串? 问题答案: 返回一个; 接受作为可选参数: 给

  • 问题内容: 如何使用PEM格式的字符串创建实例?PEM格式的字符串是HTTP请求“ SSL_CLIENT_CERT”标头值。 答案 : 根据mgaert的回答,这是我在Scala中写的内容 : 问题答案: 将Base64解码为二进制,并用一些InputStream读取它,然后尝试

  • 问题内容: 我想要这种格式 问题答案: 您需要先 解析 日期字符串(使用方法),才能 使用与格式匹配的格式获取对象。 然后使用所需的格式来 格式化 Date对象(Use 方法)以获取字符串。 输出:- 第一种格式是RFC 822 TimeZone与您的日期字符串匹配。有关在日期格式中使用的其他各种选项,请参见。