python中eval()和json.dumps的使用
在python中通过requests.get(url)获取json数据,此时可能需要eval进行解析。
# -*- coding: utf-8 -*-
import requests r = requests.get(url='your url address') # 最基本的GET请求
# print r.content
# print '......................'
# print len(r.json()
# print '......................'
# print len(r.json()['data'])
# print '......................'
print r.json()['data'][6]['type'] # area
print '......................'
print r.json()['data'][6]['radarcoor']
print '......................'
print r.json()['data'][6]['radarcoor'][0] # 错误
print '......................'
print eval("r.json()['data'][6]['radarcoor']")[0] # 错误
print '......................'
print eval("("+r.json()['data'][6]['radarcoor']+")")[0] # 正确的写法
此时r.json()返回:
r.json()['data'][6]['radarcoor']返回:
要获取其中每一项,则需要使用eval()函数进行解析:
2.json.dumps()
功能:将python中的数据类型转换成str类型
# json.dumps()
mylist = [123, {'name': 'dragon'}, {'location': ('ch', 'nt')}]
encoded_json = json.dumps(mylist)
print isinstance(encoded_json, str) # True
print encoded_json # [123, {"name": "dragon"}, {"location": ["ch", "nt"]}] # json.loads()
# decoded_json = json.loads(encoded_json)
# print isinstance(decoded_json, list) # True
# print decoded_json # [123, {u'name': u'dragon'}, {u'location': [u'ch', u'nt']}] # eval()
decoded_json = eval(encoded_json)
print isinstance(decoded_json, list) # True
print decoded_json # [123, {'name': 'dragon'}, {'location': ['ch', 'nt']}]
python中eval()和json.dumps的使用的更多相关文章
- python中eval()和json.loads的区别
一.最近在写接口测试脚本时,发现当读取Excel用例时,有时候要用eval,有时候又要用json.loads,不知道区别,只能换一下就可以用了,不知道其中的原理,特地百度了下.于是就记录了下,以便后续 ...
- 【转】python 历险记(四)— python 中常用的 json 操作
[转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...
- Python中eval与exec用法的区别
Python中eval,exec这两个函数有着相似的输入参数类型和执行功能,因此在用法上经常出现混淆,以至经常用错,程序易抛出错误.下面主要通过这两个函数的语法来阐述区别,并用例子来进一步说明. 首先 ...
- python的eval和json.loads(),json.dumps()
eval() 将字符串当成一个表达式去执行,可以想象成一个去字符串然后执行的操作. In [1]: s = '3*8' In [2]: eval(s) Out[2]: 24 eval()和json.l ...
- python将字符串转换成对应的python数据类型--eval和json.loads(),json.dumps()
eval()和json.loads() 都可以将字符串转换成对应的python数据类型,举个字典的例子,同样适合其他数据类型元组.列表.集合. In [3]: ss = '{"a" ...
- Python关于eval与json在字典转换方面的性能比较
背景介绍 因为python中有eval()方法,可以很方便的将一些字符串类型与字典等数据结构之间进行转换, 所以公司的数据处理同事在保存一些特殊数据时就直接将字典的字符串保存在数据库中. 在程序中读取 ...
- Python中字符串/字典/json之间的转换
import json #定义一个字典d1,字典是无序的 d1 = { "a": None, "b": False, "c": True, ...
- python中精确输出JSON浮点数的方法
有时需要在JSON中使用浮点数,比如价格.坐标等信息.但python中的浮点数相当不准确, 例如下面的代码: 复制代码代码如下: #!/usr/bin/env python import json a ...
- python接口自动化(九)--python中字典和json的区别(详解)
简介 这篇文章的由来是由于上一篇发送post请求的接口时候,参数传字典(dict)和json的缘故,因为python中,json和dict非常类似,都是key-value的形式,为啥还要这么传参,在群 ...
随机推荐
- BZOJ 1070: [SCOI2007]修车(费用流)
http://www.lydsy.com/JudgeOnline/problem.php?id=1070 题意: 思路: 神奇的构图. 因为排在后面的人需要等待前面的车修好,这里将每个技术人员拆成n个 ...
- vue中click阻止事件冒泡,防止触发另一个事件
在使用el-upload组件时,在其中放置了一个删除按钮的图片. 当点击图片,本想只删除上传的视频,但是意外触发了el-upload中的事件 解决办法:用stop,结果只删除当前预览,不触发上传事件. ...
- 基于 Python 和 Pandas 的数据分析(6) --- Joining and Merging
这一节我们将看一下如何通过 join 和 merge 来合并 dataframe. import pandas as pd df1 = pd.DataFrame({'HPI':[80,85,88,85 ...
- SqlServer 中的触发器
SqlServer 触发器实现多表之间同步增加.删除与更新 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程. ...
- Java——HashMap
获取数组长度 数组.length 获取下标 HashMap HashMap 构造函数 // 默认构造函数. HashMap() // 指定“容量大小”的构造函数 HashMap(int capacit ...
- Cordova 混合开发
详细的教程在以下博客 https://blog.csdn.net/csdn100861/article/details/78585333
- 最全的SpringCloud视频教程
史上最全的SpringCloud视频教程 转自:https://blog.csdn.net/itmayeidu/article/details/79426589 史上最全的SpringCloud视频教 ...
- 利用jenkins+git自动执行接口测试代码
事前准备 部署好jenkins.申请一个码云账号.代码同步至码云 1.在码云上新建一个项目,并把代码同步上去 我设置成了私有项目 2.为项目添加部署公钥 因为是私有项目,所以需要添加一个部署公钥,不然 ...
- Go语言学习之8 goroutine详解、定时器与单元测试
主要内容: 1.Goroutine2. Chanel3. 单元测试 1. Goroutine Go 协程(Goroutine)(轻量级的线程,开线程没有数量限制). (1)进程和线程 A. 进程是 ...
- 最大似然估计实例 | Fitting a Model by Maximum Likelihood (MLE)
参考:Fitting a Model by Maximum Likelihood 最大似然估计是用于估计模型参数的,首先我们必须选定一个模型,然后比对有给定的数据集,然后构建一个联合概率函数,因为给定 ...