From e1dbd84e697445ea0c5f73075f56f97e5849ae53 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 08 三月 2019 14:58:15 +0800
Subject: [PATCH] 6328 【后端】优化代码eval - json只适合字符串序列化,并且尽量用于非中文;建议使用cPickle 的dumps 和loads,协议用2,可支持所有类型,缺点为序列化后不可阅读

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
index 7d16d92..70206b0 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
@@ -42,7 +42,7 @@
 
 from types import IntType
 import time
-import json
+import cPickle
 #---------------------------------------------------------------------
 
 #年月日时间格式
@@ -1121,20 +1121,20 @@
         recMapID = universalRecData.GetValue1()
         if recMapID == mapID:
             findRecData = universalRecData
-        fbOpenRecord[recMapID] = json.loads(universalRecData.GetStrValue1())
+        fbOpenRecord[recMapID] = cPickle.loads(universalRecData.GetStrValue1())
         
     if not findRecData:
         findRecData = recTypeListData.AddRec()
         findRecData.SetValue1(mapID)
-        findRecData.SetStrValue1(json.dumps([curDayStr], ensure_ascii=False))
+        findRecData.SetStrValue1(cPickle.dumps([curDayStr], 2))
         fbOpenRecord[mapID] = [curDayStr]
     else:
-        recordList = json.loads(findRecData.GetStrValue1())
+        recordList = cPickle.loads(findRecData.GetStrValue1())
         if curDayStr not in recordList:
             recordList.append(curDayStr)
             if len(recordList) > 3: #只存最近3次
                 del recordList[0]
-            findRecData.SetStrValue1(json.dumps(recordList, ensure_ascii=False))
+            findRecData.SetStrValue1(cPickle.dumps(recordList, 2))
             fbOpenRecord[mapID] = recordList
         else:
             return
@@ -1150,7 +1150,7 @@
     for index in range(recTypeListData.Count()):
         universalRecData = recTypeListData.At(index)
         recMapID = universalRecData.GetValue1()
-        recordList = json.loads(universalRecData.GetStrValue1())
+        recordList = cPickle.loads(universalRecData.GetStrValue1())
         fbOpenRecord[recMapID] = recordList
     return fbOpenRecord
 

--
Gitblit v1.8.0