复杂的Python对象到JSON转换

时间:2016-07-22 19:15:24

标签: python json class oop

我需要将复杂的python对象转换为JSON,复杂的我指的是一个包含int变量,字符串变量和2个自定义对象列表的对象。

我的Python对象的构造函数是:

 def __init__(self, skills="",vid=""):
    self.Skills = list([])
    for skillID in skills.split("-"):
        if not skillID == "":
            tmpSkill = Skill()
            tmpSkillObj = DBCommands.getSkill(skillID)
            tmpSkill.ID = tmpSkillObj[0][0] #tmpSkillObj[0][0]
            tmpSkill.Name = tmpSkillObj[0][1]
            tmpSkill.isMain = True
            tmpSkill.CurrentlyTesting = False
            tmpSkill.isSub = False
            tmpSkill.Level = 0
            tmpSkill.Tested = False
            tmpSkill.Score = 0
            tmpSkill.Confidence = 0
            tmpSkill.BestScore = 0
            tmpSkill.ParentID = 0
            self.Skills.append(tmpSkill)
            self.AskedQuestions.append(tmpSkill)
    self.Skills = list(self.Skills)
    if not skills  == "":
        self.Skills[0].CurrentlyTesting = True #Start testing the first skill
    if not vid  == "":
        self.VacancyID = int(vid)
    self.PlayerID = 0
    self.Score = float(0)
    self.AskedQuestions = list([])
    self.MaxLevel = 0
    self.AssessmentIsFinished = False

我需要一种机制来对对象进行编码并对其进行解码。

1 个答案:

答案 0 :(得分:1)

编码:

http://localhost/

解码:

import base64
import pickle
token = base64.b64encode(pickle.dumps(token,-1))