GOOGLE ADS

sábado, 30 de abril de 2022

Python: obtenga un valor de LISTA del campo en JSON

Tengo un archivo JSON que contiene tres campos: 2 son cadenas y el tercero es un campo que contiene una lista de valores.

{ "STREAM": "stream",
"BASIS_STREAM": "basis",
"PATHS": "[/opt/path1,/opt/path2]"
}

Ahora cargo ese JSON

with open('/pathToJsonFile.json', 'r') as f:
data = json.load(f)

Ahora quiero obtener esos valores.

stream=str(data["STREAM"])
basis=str(data["BASIS_STREAM"])
paths=data["BASE_PATHS"]

El tema es que pathstambién está amenazado como String, aunque tengo que usarlo como lista. Estoy convirtiendo con la strfunción de otros campos debido a Unicode. El código debe estar en python2. ¡Muchas gracias!


Solución del problema

Digamos que tiene un archivo llamado data.jsoncon los siguientes contenidos:

{
"STREAM": "stream",
"BASIS_STREAM": "basis",
"PATHS": "[/opt/path1,/opt/path2]"
}

Tal vez podrías usar después de llamar:str.splitjson.load

with open('data.json', 'r') as f:
data = json.load(f)
print 'data = %s' % data
stream = str(data['STREAM'])
basis = str(data['BASIS_STREAM'])
paths = [str(u_s) for u_s in data['PATHS'][1:-1].split(',')]
print 'stream = %s' % stream
print 'basis = %s' % basis
print 'paths = %s' % paths

Producción:

data = {u'PATHS': u'[/opt/path1,/opt/path2]', u'BASIS_STREAM': u'basis', u'STREAM': u'stream'}
stream = stream
basis = basis
paths = ['/opt/path1', '/opt/path2']

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...