python将字符串转换成对应的python数据类型--eval和json.loads(),json.dumps()

时间:2022-04-14 03:40:29

eval()和json.loads() 都可以将字符串转换成对应的python数据类型,举个字典的例子,同样适合其他数据类型元组、列表、集合。

python将字符串转换成对应的python数据类型--eval和json.loads(),json.dumps()
In [3]: ss = '{"a":1,"b":2}'

In [4]: type(eval(ss))
Out[4]: dict In [7]: type(json.loads(ss))
Out[7]: dict
python将字符串转换成对应的python数据类型--eval和json.loads(),json.dumps()

json一种轻量级数据交换格式,可以将json对象当作比较特殊的字符串,eval与json.loads都可以将大部分的JSON串转成python对象,但也有区别:

>>> import json
>>> s = '{"one":1,"two":2}'
>>> json.loads(s)
{u'two': 2, u'one': 1}
>>> eval(s)
{'two': 2, 'one': 1} 

json.loads与eval都能将s转成python中的对象,json.loads将json中的字符串转成unicode(types.UnicodeType),eval转成了str(types.StringType)。
对于普通的数据类型,json.loads和eval都能用,但:

>>> x="[null,true,false,1]"
>>> json.loads(x)
[None, True, False, 1]
>>> eval(x)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'null' is not defined

在遇到特殊类型的时候,eval就不管用了。

在python中使用json.loads() (用于将json对象转换成python对应的数据类型)和json.dumps()用于将python数据类型转换成json对象,下面举个例子

python将字符串转换成对应的python数据类型--eval和json.loads(),json.dumps()
In [10]: ss
Out[10]: '{"a":1,"b":2}' In [11]: a = json.loads(ss) In [12]: type(a)
Out[12]: dict In [13]: x = json.dumps(a) In [14]: type(x)
Out[14]: str
python将字符串转换成对应的python数据类型--eval和json.loads(),json.dumps()

原文链接:https://blog.csdn.net/djskl/article/details/44783777

python将字符串转换成对应的python数据类型--eval和json.loads(),json.dumps()的更多相关文章

  1. python将字符串转换成字典的几种方法

    当我们遇到类似于{‘a’:1, 'b':2, 'c':3}这种字符串时,想要把它转换成字典进行处理,可以使用以下几种方法: 1. Python自带的eval函数(不安全) dictstr = '{&q ...

  2. Python 实现字符串转换成列表 实现str转换list

    其中Python strip() 方法用于移除字符串头尾指定的字符 split()就是将一个字符串分裂成多个字符串组成的列表 >>> image ='1.jsp,2.jsp,3.js ...

  3. Python将字符串转换成字典

    1. ast包 import ast user_info = '{"name" : "南湖", "gender" : "male& ...

  4. python 将字符串转换成字典dict的各种方式总结

    1)利用eval可以将字典格式的字符串与字典户转 >>>mstr = '{"name":"yct","age":10}' ...

  5. python 将字符串转换成字典dict

    JSON到字典转化:>>>dictinfo = json.loads(json_str) 输出dict类型 字典到JSON转化:>>>jsoninfo = json ...

  6. python的eval和json&period;loads&lpar;&rpar;&comma;json&period;dumps&lpar;&rpar;

    eval() 将字符串当成一个表达式去执行,可以想象成一个去字符串然后执行的操作. In [1]: s = '3*8' In [2]: eval(s) Out[2]: 24 eval()和json.l ...

  7. Python使用函数实现把字符串转换成整数

    需求:假设Python没有提供内置函数int如果使用函数方式实现把一串字符串转换成整数例如把字符串‘12345‘转换成整数12345 思路 1,字符串也是序列可以使用map函数处理分割成一个列表 2, ...

  8. python &colon;eval将字符串转换成字典

    #将字符串打印成字典 b=''' {'record': {'weight':20,'server':'100.1.7.9','maxconn':50},'backend': 'www.oldboy.o ...

  9. python将科学计数法表示的数值的字符串转换成数值型数据

    今天碰到一个问题,需要将科学计数法表示的数值的字符串转换成数值型数据参与算术运算, 然而,当使用int()方法进行转换时,直接报错了,如下: 然后在网上找转换方法,始终没有找到合适的方法,有的是自己写 ...

随机推荐

  1. linux 时间同步的2种方法

    转载自: http://blog.51yip.com/server/1474.html 由于硬件的原因,机器或多或少的根标准时间对不上,一个月的误差几秒到几分钟不等.对于服务器来说时间不准,会有很多麻 ...

  2. 理解MySQL——索引与优化

    转自:理解MySQL——索引与优化 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存 ...

  3. 《深入理解Java虚拟机》学习笔记之最后总结

    编译器 Java是编译型语言,按照编译的时期不同,编译器可分为: 前端编译器:其实叫编译器的前端更合适些,它把*.java文件转变成*.class文件,如Sun的Javac.Eclipse JDT中的 ...

  4. C语言程序设计第二次作业1

    (一)改错题 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 include int mian() { printf(&q ...

  5. Docker-compose command 有多个命令例子

    cat docker-compose.yml version: '3.4' services: klvchen: image: python_django:19.03.0 ports: - 8000: ...

  6. js数组操作-最佳图解

    js数组操作-最佳图解

  7. SQL Fundamentals&colon; 子查询 &vert;&vert; WHERE&comma;HAVING&comma;FROM&comma;SELECT子句中使用子查询,WITH子句

    SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...

  8. Tomcat学习总结(10)——Tomcat多实例冗余部署

    昨天在跟群友做技术交流的时候,了解到,有很多大公司都是采用了高可用的,分布式的,实例沉余1+台.但是在小公司的同学也很多,他们反映并不是所有公司都有那样的资源来供你调度.往往公司只会给你一台机器,因为 ...

  9. web -- 前端访问后台跨区问题解决

    package com.xindatai.ibs.web.filter; import java.io.IOException; import javax.servlet.Filter; import ...

  10. mysql与redis的区别与联系

    1.mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢. redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提 ...