如何处理 JSON 响应
how to deal with JSON response
我正在使用Python websockets返回JSON对象(我认为),但是我不确定如何处理响应。我有一个使用 JavaScript 的示例,它使用 parseJSON,下面是一个片段:
socket = io.connect("__socket address__");
socket.on("connect", function() {socket.emit("subscribe_areas", areas)});
var d = jQuery.parseJSON(c);
console.log(d);
d.type == "INTERPOSE";
返回我可以访问的数据,例如 d.type == "INTERPOSE";:
Object {area: "BE", type: "MOVE", to: "0109", from: "0107", value: "2L65"}
Object {area: "BE", type: "MOVE", to: "0113", from: "0109", value: "2L65"}
作为我的蟒蛇,我收到:
(u'{"area":"EH","type":"INTERPOSE","to":"B243","value":""}',)
(u'{"area":"EH","type":"INTERPOSE","to":"0337","value":""}',)
(u'{"area":"EH","type":"INTERPOSE","to":"0085","value":""}',)
为什么 python 返回括在括号和逗号中的 JSON?我的蟒蛇是下面的:
from socketIO_client import SocketIO
import logging
import json
def on_connect():
print('CONNECTED')
areas = ['EH']
socketIO.emit('subscribe_areas', areas)
def on_message(*answer):
print(answer)
socketIO = SocketIO('_address_', _port_)
socketIO.on('connect', on_connect)
socketIO.on('message', on_message)
socketIO.wait()
我尝试使用json.load,json.loads,json.decode进行解码,但收到各种错误。我错过了什么,为什么退货被包裹在括号中等等?
你告诉 Python 需要 0 个或多个参数:
def on_message(*answer):
print(answer)
然后 Python 给你一个传入的所有参数的元组;你的 print 语句显示你有一个参数,所以你得到一个只有一个元素的元组。该元素是您可以使用json.loads()
解码的 JSON 字符串。
获取第一个元素并对其进行解码:
def on_message(*answer):
print(json.loads(answer[0]))
或者不要使用 *
并要求传入一个参数,始终从该参数加载
def on_message(answer):
print(json.loads(answer))
相关文章:
- 在不同的javascript数组中对json响应进行排序
- Laravel数据表无效的JSON响应
- 使用Backbone.js访问JSON响应的部分
- 不需要的JSON响应
- 跨多个域的json响应
- 将对Ajax PUT的json响应重定向到要由EL解析的JSP中
- handler没有为JSON响应正确填充模板
- 如何在phonegap应用程序中处理Ajax json响应
- 将JSON响应放入var中并输出
- 如何使用AngularJS将if语句conditon与json响应一起使用
- JS-通用解析JSON响应
- 将json响应格式化为父级和子级
- 从 JSON 响应解析数据
- 单个和多个 JSON 响应
- 将日期作为从 Web API 到 angularJS 的 json 响应
- 在 JSX Render for React.js 中遍历 JSON 响应
- 使用 JavaScript 从 URL 获取 JSON 响应
- 使用来自AngularJS的Web API JSON响应-错误:应为和数组,但得到了一个对象
- 生成动态json响应的Javascript
- 如何将json响应的一部分转换为map