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

In [3]: ss = '{"a":1,"b":2}'

In [4]: type(eval(ss))
Out[4]: dict In [7]: type(json.loads(ss))
Out[7]: dict

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对象,下面举个例子

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

原文链接: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.loads(),json.dumps()

    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 :eval将字符串转换成字典

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

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

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

随机推荐

  1. 在Vue&Element前端项目中,使用FastReport + pdf.js生成并展示自定义报表

    在我的<FastReport报表随笔>介绍过各种FastReport的报表设计和使用,FastReport报表可以弹性的独立设计格式,并可以在Asp.net网站上.Winform端上使用, ...

  2. Java集合——List,Set,Map总结笔记

    1. 集合 Collection 1.1 Java 集合框架 ​ ​ ​ ​ ​ ​ ​ ​ Java 集合框架位于 java.util 包中.Java 集合框架主要包括两种类型的容器,一种是集合(C ...

  3. HPE ProLiant 系列服务器Microsoft Windows 2008 R2系统下网卡绑定方法

    HPE Network Configuration Utility(以下简称NCU) 网卡绑定工具,用户可以通过该工具很方便的把服务器的多个网卡捆绑到一起以达到容错和增加可用带宽的目的. 1.打开NC ...

  4. WinForm 控件 DataGridView 常用操作

    1.取消列自动生成 在窗体load事件里面设置表格dataGridView的AutoGenerateColumns为 false dataGridView.AutoGenerateColumns = ...

  5. FastAPI 学习之路(十三)Cookie 参数,Header参数

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  6. 安装早期老版本 Visual Studio

    安装早期老版本 Visual Studio https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/

  7. python filter lambda 的使用

    lambda 匿名函数的使用 >>> a=lambda x : x in "1234567890.," >>> a("asd" ...

  8. HTTP标签

    系统的http状态码知识,我是在<图解http里学习的>. 状态码的职责是告知从服务器端返回的请求结果. 分类如下: 2XX --> 成功 200 OK(一般情况) 204 No C ...

  9. 【Java虚拟机1】Java字节码文件格式入门

    第一次学习看字节码文件,这个对工作没什么用,但是会提升内功. 首先介绍两个IDEA插件以及使用: BinEd:以16进制格式查看class文件 使用方法:右键class文件,点击Open as bin ...

  10. elasticsearch使用ik中文分词器

    elasticsearch使用ik中文分词器 一.背景 二.安装 ik 分词器 1.从 github 上找到和本次 es 版本匹配上的 分词器 2.使用 es 自带的插件管理 elasticsearc ...