cjson库相对于python自带的json库,效率会高一些。两者用法也都相对简单。
对于json, 可直接使用json.loads(str)来将json字符串转为json对象。而对于cjson,则可以使用cjson.decode(str)来将字符串转为json对象。
不过使用cjson时要特别注意编码的问题,不注意就会出现中文乱码的问题。
例如str是一种非Unicode的普通含中文的json字符串,直接使用cjson.decode(str)时,会出现中文乱码。解决方法时先将str转换为Unicode格式,再进行decode,如:
data = cjson.decode(str.decode('utf8'))
ele1 = data.get('xxx', 0)
而对于json库,则没有这样的乱码问题。
另外,对于使用multiprocessing多进程的情况,子进程的print信息貌似不会直接打印在终端下。如果要检查print信息,似乎使用写入日志的方式会适合一点。