Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Json接受1个位置参数,但给出了2个_Python_Json_Api_Python Requests - Fatal编程技术网

Python Json接受1个位置参数,但给出了2个

Python Json接受1个位置参数,但给出了2个,python,json,api,python-requests,Python,Json,Api,Python Requests,我得到了一个错误,我给了1个参数,但它说的是2,最终目标是打印json正文 url_get = 'http://ludwig.corp.podiumdata.com:/qdc/entity/v1/getEntities?type=EXTERNAL&count=2&sortAttr=name&sortDir=ASC' session = requests.Session() r = session.get(url_cookie, auth=(username,passwor

我得到了一个错误,我给了1个参数,但它说的是2,最终目标是打印json正文

url_get = 'http://ludwig.corp.podiumdata.com:/qdc/entity/v1/getEntities?type=EXTERNAL&count=2&sortAttr=name&sortDir=ASC'
session = requests.Session()
r = session.get(url_cookie, auth=(username,password), verify=False)
print('--------------------- 1. status_code ----------------------------------')
print(r.status_code)
print('--------------------- 1. headers ----------------------------------')
print(r.headers)
print('--------------------- 1. content ----------------------------------')
data = r.json(url_get)
print(data)
print('--------------------- 1. cookies ----------------------------------')
print(session.cookies, r.cookies)
print('--------------------- 1. cookies get_dict ----------------------------------')
print(session.cookies.get_dict())
print("7")
文件“”,第67行,在
data=r.json(url\u get)
TypeError:json()接受1个位置参数,但给出了2个```

这是因为您试图调用
json.loads
,加载的url不适合python中的任何有效对象

导入json
x=json.load(“[1,2,3]”)
x#这将被计算为一个列表
[1, 2, 3]
y=json.loads('嗨,我是一个字符串')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/Users/mm92400/anaconda3/lib/python3.6/json/_init__.py”,第354行,加载
返回\u默认\u解码器。解码
文件“/Users/mm92400/anaconda3/lib/python3.6/json/decoder.py”,第339行,在decode中
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
文件“/Users/mm92400/anaconda3/lib/python3.6/json/decoder.py”,第357行,原始解码
从None引发JSONDecodeError(“预期值”,s,err.value)
json.decoder.JSONDecodeError:预期值:第1行第1列(字符0)
我确信错误消息看起来很熟悉:)

接下来,当您对
请求
对象调用
json
方法时,您不需要传递任何信息,因为请求主体将隐式传递给
json
解析器:

r=requests.get(一些url)
r、 json()#不要把任何东西放在这里的括号中

json
的文档是,
请求是你的意思是说
r.json()
r
是表示从服务器返回的数据的响应对象。调用
json()
方法,尝试将数据从json解析为python数据结构。您不能向该函数传递任何额外参数。

您正在调用
json。加载
字符串上的
,您确定这是您想要的吗?而不是
data=r.json()
?是的,你是对的,让我更新关闭,
r.json()
不带任何参数,它是
r
对象上的一个方法,所以你不需要交给它任何东西给定的参数是
self
url\u get
r.json()
不希望传递任何参数,因为请求对象已经有了响应主体,只需要将其解析为json
response。json
接受一个参数,
r.json()
相当于
response.json(r)
。您正在考虑内置json包。用户正在使用请求并对响应对象调用
json()
。这是另一种情况。@rje如果您回顾问题的编辑历史记录,OP最初询问的是内置的
json
package:)非常感谢您的回答各位,我了解修复,并学到了一些新东西!!不过,还有一个问题。。。所以,在我做了这个更改之后,它会返回告诉JSONDecodeError(“期望值”,s,err.value)和JSONDecodeError:Expecting value,这是因为我必须将json解码成utf-8还是与之无关,所以您可以使用
r.content
检查内容,它应该是一个字节字符串。如果它不是有效的json,那么
json()
方法将引发异常,因为它无法将内容解析为字典或类似结构
  File "<ipython-input-36-b971c3b17ea5>", line 67, in <module>
    data = r.json(url_get)

TypeError: json() takes 1 positional argument but 2 were given```