我试图用python2.7中的json
库创建一个JSON对象。我正在创建一个类,其中包含需要序列化的参数,如:
class DataMessage:
channelID = 0
messageID = 0
timestamp = 0
voltageRMS = 0
currentRMS = 0
voltageDC = []
currentDC = []
但是当将其序列化为JSON时,我需要更改有关channelID的参数名称。例如:当channelID=1时,数据应该序列化为:
{
"messageID" = id,
"timestamp" = 32432,
"voltageRMS1" = 548,
"currentRMS1" = 5548,
"voltageDC1_1" = 43,
"voltageDC1_2" = 44,
"voltageDC1_3" = 45,
# ....
"currentDC1_1" = 32,
# ....
}
我在这个库中找不到任何排除某些序列化参数(channelID
)或动态创建params(voltageDC[])
数组的功能。你知道吗
因此,JSON序列化消息的详细信息:
voltageRMS1
-指channelID = 1
voltageDC[]
数组将为voltageDC_1 = ...
中的每个值展开channelID
不会被序列化,只考虑参数名。你知道吗
您必须为您的类实现一个自定义的^{} 来解压每个数组:
然后可以使用自定义编码器类调用
json.dumps()
,以获得JSON输出:相关问题 更多 >
编程相关推荐