python 3辞書、リストなどを文字列形式に変換してmysqlデータベースに格納して辞書に復元し、リスト(やや複雑なフォーマットを処理)

2298 ワード

私が使っているデータベースのバージョンが低すぎて、直接jsonに保存することができなくて、ついに元のjsonフォーマットのファイルを文字列に変換します
pythonが独自の方法でeval()を元に戻します
たとえば、リストに入っている辞書の種類を処理します.
mes = [{'alert_settings': {'sms': '1', 'email': '1'}, 'user_id': '1680700'}, 
{'alert_settings': {'sms': '1', 'email': '1'}, 'user_id': '2857376'}, 
{'alert_settings': {'sms': '1', 'email': '1'}, 'user_id': '2875386'}, 
{'alert_settings': {'sms': '1', 'email': '1'}, 'user_id': '2857422'}, 
{'alert_settings': {'sms': '1', 'email': '1'}, 'user_id': '2881725'}, 
{'alert_settings': {'sms': '1', 'email': '1', 'voice': '1'}, 'user_id': '2891742'}, 
{'alert_settings': {'sms': '1', 'email': '1', 'voice': '1'}, 'user_id': '2998655'}, 
{'alert_settings': {'sms': '1', 'email': '1', 'voice': '1'}, 'user_id': '3265624'}, 
{'alert_settings': {'sms': '1', 'email': '1', 'voice': '1'}, 'user_id': '33638732'}, 
{'alert_settings': {'sms': '1', 'email': '1', 'remind': '1', 'voice': '1', 'push': '1'}, 
'user_id': '3363750'}, {'alert_settings': {'sms': '1', 'email': '1', 'voice': '1'}, 
'user_id': '337923'}, {'alert_settings': {'voice': '1'}, 'user_id': '34833360'}, 
{'alert_settings': {'sms': '1', 'email': '1', 'voice': '1'}, 'user_id': '35545633'}] 
#           
str_mes = str(mes)
#       LONGTEXT         
#            mes_mysql            new_mes_mysql  
new_mes_mysql = eval(mes_mysql)
print(type(new_mes_mysql))
      list ,          dict 
  !

end