关于requests.post().json()获取到的JSON为单引号和NONE的那些事

Posted ♥之

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于requests.post().json()获取到的JSON为单引号和NONE的那些事相关的知识,希望对你有一定的参考价值。

上篇学习sys.argv的使用代码中发现了错误,获取到的Json数据为单引号和NONE,为错误的json格式。

经检查,发现直接使用r.text就可以得到正确的json数组,使用r.json()反而使json数组中的双引号变为单引号,null变为NONE。

 

之后进行cmd调试的时候发现无法获取OrderEventForCT中的数据,经过一通我也没有找到原因的操作后,cmd页面可以通过sys.argv显示数据。

修改后代码如下

import requests
import sys

url = http://www.700156.com/CT/Order/DataQueryNew


def query(companyid, he_type, he_no):
    d = {companyid: companyid, type: he_type, no: he_no}
    r = requests.post(url, data=d)
    return r.text


if __name__ == __main__:
    company_id = sys.argv[1]
    the_type = sys.argv[2]
    the_no = sys.argv[3]
    print(query(company_id, the_type, the_no))
    # print(query("CT56", 1, "8039593329"))

 

以上是关于关于requests.post().json()获取到的JSON为单引号和NONE的那些事的主要内容,如果未能解决你的问题,请参考以下文章

requests post一个json数据

使用 json.dumps 时 requests.post 失败 [重复]

Python requests.post嵌套多层json参数调用接口

接口测试requests.post方法中data与json参数区别

异步python requests.post()

requests库详解