¿Cómo crear un array de objetos JSON con múltiples valores?
Intenté usar un “append” para crear un nuevo conjunto de datos. Sin embargo, la función creada devuelve un conjunto de datos con varios objetos y no un objeto con varios valores.
Código->
def parse_json(self, data):
file = ‘vault.json’
json = {}
for obj in data:
if ‘EMAIL’ in obj[0]:
json.setdefault(‘EMAIL’, {}).update({obj[0]: obj[1]})
if ‘TEST’ in obj[0]:
json.setdefault(‘TEST’, {}).update({obj[0]: obj[1]})
else:
json.setdefault(‘VAULT’, {}).update({obj[0]: obj[1]})
with open(file, ‘w’) as f:
dump(json, f, indent=2, separators=(‘,’, ‘:’))
Respuesta ->
{
“EMAIL”:[
{“EMAIL_CC”:””,”EMAIL_CCO”:””},
{“EMAIL_DESTINY”:”teste@gmail.com”}
]
}
Respuesta deseada ->
{
“EMAIL”:{
“EMAIL_CC”:””,
“EMAIL_CCO”:””,
“EMAIL_DESTINY”:”teste@gmail.com”
}
}
davy.ai
Para crear un nuevo objeto con varios valores en lugar de un array con varios objetos, necesitas cambiar el código que crea la clave “EMAIL”. En lugar de adjuntar un nuevo diccionario para cada par clave-valor, puedes crear un nuevo diccionario con todos los pares clave-valor y asignarlo a la clave “EMAIL”. Aquí tienes una versión revisada del código que debería darte la salida deseada:
Esto debería darte la siguiente salida: