我正在通过requests.json()
将JSON响应放入变量中,如下所示:
response = requests.get(some_url, params=some_params).json()
但是这会将JSON的原始"
转换为Python的'
,true
到True
,null
到None
。
在尝试将响应保存为文本并将其转换回JSON时,这会带来一个问题-当然,我可以对以上提到的所有转换使用.replace()
,但是即使这样做,我也会觉得很有趣json解码器错误。
Python中有什么方法可以获取JSON响应并保持原始JavaScript格式?
答案 0 :(得分:1)
您可以使用 TaskDto save(TaskForm form) {
UserDto currentUser = userFacade.getLoggedUser();
Task task = taskFactory.create(form, currentUser.getId());
return taskRepo.save(task).dto();
}
TaskWithUserDto load(long taskId) {
Task task = taskRepo.findById(taskId);
UserDto user = userFacade.load(task.getUserId());
return new TaskWithUserDto(task.getTitle(), task.getText(), user.getName());
}
这是requests.get(some_url, params=some_params).text
方法,可转换为Python友好格式。
答案 1 :(得分:1)
json()
是JSON 解码器 方法。您正在查看一个Python对象,这就是为什么它看起来像Python的原因。
其他格式从Response Content开始在同一页面上列出
.text
:文本-没有单独的链接/段落,位于“响应内容”下.content
:二进制,以字节为单位.json()
:已解码的JSON,作为Python对象.raw
:流式传输字节(这样您就可以获取部分内容)您需要.text
来获取文本,包括JSON数据。