python 字典、列表和json对象互转

import unittest,time,os
import requests,json
from Public.log import LOG,logger

def better_output(json_str):
return json.dumps(json.loads(json_str), indent=4) # 采用json里面提供方法打印出来,格式更好看

class test(unittest.TestCase):
def setUp(self):
LOG.info(‘测试用例开始执行’)
def tearDown(self):
LOG.info(‘测试用例执行完毕’)

def test_post(self):
    data=json.dumps({'key':'dfeb1cc8125943d29764a2f2f5c33739','dd':'xx'})
    #r = requests.post('http://www.tuling123.com/openapi/api', json={'key':'dfeb1cc8125943d29764a2f2f5c33739'}) 两者等同
    r = requests.post('http://www.tuling123.com/openapi/api', data=data)
    json_response = json.loads(r.text)
    # 输出url
    print(json_response)
    print(r.url)

def test_get(self):
    data={'loginName':'nan','limit':'5'}
    r = requests.get('http://fengxing-pvtest.saicmotor.com/mobile/jsc/historic', params=data)
    #dumps是将dict转化成str格式,loads是将str转化成dict格式。
    json_response = json.loads(r.text)
    #以json方式输入结果
    print(json_response)
    print(type(r.json()))#输入数据类型  <class 'dict'>
    # 输出url
    print(r.url)
    print(r.text)
    print(type(r.text))#输入数据类型  <class 'str'>
    # 采用json里面提供方法打印出来,格式更好看
    print( better_output(r.text))
    #取出返回结果中对应的值
    print(r.json()["status"])  
    print(r.json()["list"][0]["procInstId"])

if name==’main‘:
unittest.main()


返回结果如下
{
“status”: true,
“start”: 0,
“limit”: 5,
“size”: 5,
“totalSize”: 172,
“list”: [
{
“seqNo”: 1,
“procInstId”: “4dfffff3234744139e2dbbe0c8b14a43”,
“taskId”: “003e0dfc37d74aaab6112c50339bc42b”,
“createAt”: “2017-11-28 11:31:56”,
“priority”: 100,
“jscTableId”: “187ae82e0f4a474caa4f3abab983c670”,
“jscNo”: “JSC100029476”,
“prCode”: “5008782957”,
“budgetCompany”: “N305 \u5357\u4eac\u540d\u7235\u6c7d\u8f66\u8d38\u6613\u6709\u9650\u516c\u53f8”,
“contentType”: “1”,
“applyDepartment”: “\u6d77\u5916\u5e02\u573a\u90e8”,
“purchaser”: “\u502a\u5a1c”,
“budget”: “10.00”,
“remark”: “autoTest5678899\u4e00\u6b21\u6027”,
“hasReturn”: false,
“suppliers”: “Stylesight, Inc.;\u5357\u4eac\u76d6\u9a70\u5851\u6599\u5236\u54c1\u6709\u9650\u516c\u53f8”,
“supplierCodes”: “10006282;0018004187”,
“supplierBudgets”: “567889900.00;567889900.00”,
“prSumMoney”: “0.00”,
“maxAmount”: “0.00”,
“targetPrice”: “0.00”,
“displayAttachment”: true
},
{
“seqNo”: 2,
“procInstId”: “4dfffff3234744139e2dbbe0c8b14a43”,
“taskId”: “ddb29dfbdbbc4ba3ab8dd0039222e588”,
“createAt”: “2017-11-28 11:28:26”,
“priority”: 100,
“jscTableId”: “187ae82e0f4a474caa4f3abab983c670”,
“jscNo”: “JSC100029476”,
“prCode”: “5008782957”,
“budgetCompany”: “N305 \u5357\u4eac\u540d\u7235\u6c7d\u8f66\u8d38\u6613\u6709\u9650\u516c\u53f8”,
“contentType”: “1”,
“applyDepartment”: “\u6d77\u5916\u5e02\u573a\u90e8”,
“purchaser”: “\u502a\u5a1c”,
“budget”: “10.00”,
“remark”: “autoTest5678899\u4e00\u6b21\u6027”,
“hasReturn”: true,
“suppliers”: “Stylesight, Inc.;\u5357\u4eac\u76d6\u9a70\u5851\u6599\u5236\u54c1\u6709\u9650\u516c\u53f8”,
“supplierCodes”: “10006282;0018004187”,
“supplierBudgets”: “567889900.00;567889900.00”,
“prSumMoney”: “0.00”,
“maxAmount”: “0.00”,
“targetPrice”: “0.00”,
“displayAttachment”: true
},
{
“seqNo”: 3,
“procInstId”: “4dfffff3234744139e2dbbe0c8b14a43”,
“taskId”: “d29f2eddfd224eb0ba7aa43906ecfe5c”,
“createAt”: “2017-11-28 11:27:34”,
“priority”: 100,
“jscTableId”: “187ae82e0f4a474caa4f3abab983c670”,
“jscNo”: “JSC100029476”,
“prCode”: “5008782957”,
“budgetCompany”: “N305 \u5357\u4eac\u540d\u7235\u6c7d\u8f66\u8d38\u6613\u6709\u9650\u516c\u53f8”,
“contentType”: “1”,
“applyDepartment”: “\u6d77\u5916\u5e02\u573a\u90e8”,
“purchaser”: “\u502a\u5a1c”,
“budget”: “10.00”,
“remark”: “autoTest5678899\u4e00\u6b21\u6027”,
“hasReturn”: false,
“suppliers”: “Stylesight, Inc.;\u5357\u4eac\u76d6\u9a70\u5851\u6599\u5236\u54c1\u6709\u9650\u516c\u53f8”,
“supplierCodes”: “10006282;0018004187”,
“supplierBudgets”: “567889900.00;567889900.00”,
“prSumMoney”: “0.00”,
“maxAmount”: “0.00”,
“targetPrice”: “0.00”,
“displayAttachment”: true
},
{
“seqNo”: 4,
“procInstId”: “7c89f22a250046efa18a199cc1b55a9a”,
“taskId”: “bac023f42d2e495eac255950b2d41946”,
“createAt”: “2017-11-28 10:56:04”,
“priority”: 100,
“jscTableId”: “7a657f5b0d7b4a0c8a234fecd1b0f812”,
“jscNo”: “JSC100029476”,
“prCode”: “5008782957”,
“budgetCompany”: “N305 \u5357\u4eac\u540d\u7235\u6c7d\u8f66\u8d38\u6613\u6709\u9650\u516c\u53f8”,
“contentType”: “1”,
“applyDepartment”: “\u6d77\u5916\u5e02\u573a\u90e8”,
“purchaser”: “\u502a\u5a1c”,
“budget”: “10.00”,
“remark”: “autoTest5678899\u4e00\u6b21\u6027”,
“hasReturn”: true,
“suppliers”: “Stylesight, Inc.;\u5357\u4eac\u76d6\u9a70\u5851\u6599\u5236\u54c1\u6709\u9650\u516c\u53f8”,
“supplierCodes”: “10006282;0018004187”,
“supplierBudgets”: “567889900.00;567889900.00”,
“prSumMoney”: “0.00”,
“maxAmount”: “0.00”,
“targetPrice”: “0.00”,
“displayAttachment”: true
},
{
“seqNo”: 5,
“procInstId”: “7c89f22a250046efa18a199cc1b55a9a”,
“taskId”: “596063e13d744505bc92646ce1b5011a”,
“createAt”: “2017-11-28 10:39:34”,
“priority”: 100,
“jscTableId”: “7a657f5b0d7b4a0c8a234fecd1b0f812”,
“jscNo”: “JSC100029476”,
“prCode”: “5008782957”,
“budgetCompany”: “N305 \u5357\u4eac\u540d\u7235\u6c7d\u8f66\u8d38\u6613\u6709\u9650\u516c\u53f8”,
“contentType”: “1”,
“applyDepartment”: “\u6d77\u5916\u5e02\u573a\u90e8”,
“purchaser”: “\u502a\u5a1c”,
“budget”: “10.00”,
“remark”: “autoTest5678899\u4e00\u6b21\u6027”,
“hasReturn”: false,
“suppliers”: “Stylesight, Inc.;\u5357\u4eac\u76d6\u9a70\u5851\u6599\u5236\u54c1\u6709\u9650\u516c\u53f8”,
“supplierCodes”: “10006282;0018004187”,
“supplierBudgets”: “567889900.00;567889900.00”,
“prSumMoney”: “0.00”,
“maxAmount”: “0.00”,
“targetPrice”: “0.00”,
“displayAttachment”: true
}
]
}
解析:
print(r.json()[“status”]) ——>True
print(r.json()[“list”][0][“procInstId”]) ——>4dfffff3234744139e2dbbe0c8b14a43
print(type(r.json())) #输入数据类型 class ‘dict’
print(type(r.text)) #输入数据类型 class ‘str’
dumps是将dict转化成str格式,loads是将str转化成dict格式。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值