¿Puede hacer una llamada al sistema? Se puede usar un script en Python como este para convertir los datos de la salmuera en JSON:
# pickle2json.py
import sys, optparse, cPickle, os
try:
import json
except:
import simplejson as json
# Setup the arguments this script can accept from the command line
parser = optparse.OptionParser()
parser.add_option('-p','--pickled_data_path',dest="pickled_data_path",type="string",help="Path to the file containing pickled data.")
parser.add_option('-j','--json_data_path',dest="json_data_path",type="string",help="Path to where the json data should be saved.")
opts,args=parser.parse_args()
# Load in the pickled data from either a file or the standard input stream
if opts.pickled_data_path:
unpickled_data = cPickle.loads(open(opts.pickled_data_path).read())
else:
unpickled_data = cPickle.loads(sys.stdin.read())
# Output the json version of the data either to another file or to the standard output
if opts.json_data_path:
open(opts.json_data_path, 'w').write(json.dumps(unpickled_data))
else:
print json.dumps(unpickled_data)
esta manera, si su conseguir los datos de un archivo que podría hacer algo como esto:
<?php
exec("python pickle2json.py -p pickled_data.txt", $json_data = array());
?>
o si desea guardarlo en un archivo de esto:
<?php
system("python pickle2json.py -p pickled_data.txt -j p_to_j.json");
?>
Todo el código anterior, probablemente no es perfecto (no soy un desarrollador de PHP), pero sería algo así como este trabajo para usted?
Mencionó que la serialización no está bajo su control. ¿Cómo está recibiendo estos datos en escabeche? Un archivo local? –
Viene de la base de datos en Django, es session_data en la tabla de sesiones django. Probablemente termine escribiendo SessionMiddleware para serializar session_data como JSON. Solo deseé no tener que modificar la aplicación Django para esto. – Ciantic