我有一些数据需要写入JSON字符串。 我让它处理dict项,但希望将其全部包含在类中,以帮助确保正确的数据
下面的代码是dict项和类项输出之间的比较。他们不匹配,我也不知道我缺了什么
我在JSON字符串中得到一个“绑定方法Event.encode of Event…”
from collections import namedtuple
import json
class Event(namedtuple('Event', 'itemName, itemID')):
def encode(self):
obj = {}
obj['itemName'] = str(self.itemName)
obj['itemID'] = int(self.itemID)
return json.dumps(obj)
curEv = Event('MyName', 5)
print 'ClassEv : ', curEv.encode()
curEv2 = {'itemName':'MyName', 'itemID':5}
print 'DictEv : ', json.dumps(curEv2)
class Packet(namedtuple('Packet', 'pID, itemType, itemData')):
def encode(self):
obj = {}
obj['pID'] = int(self.pID)
obj['itemType'] = int(self.itemType)
obj['itemData'] = str(self.itemData.encode)
return json.dumps(obj)
packet = Packet(11, 0, curEv)
print 'ClassPacket: ', packet.encode()
packet2 = {'pID':11, 'itemType':0}
packet2['itemData'] = curEv2
print 'DictPacket : ', json.dumps(packet2)
调用
itemData.encode()
函数失败。相反,您只是返回对它的引用尝试:
注意结尾处的额外
()
相关问题 更多 >
编程相关推荐