JSON (JavaScript Object Notation) é um popular formato de arquivo para apresentar os dados estruturados e de transferência de dados entre o servidor e o aplicativo facilmente. A estrutura deste arquivo é semelhante a alguns objetos Python como list, tuple e dictionary. Você pode converter qualquer objeto de dicionário para o objeto JSON usando os métodos dump() e dumps() do módulo json. Este artigo mostra as formas de converter qualquer objeto de dicionário para o objeto JSON em python.
json.método dumps ():
este método é usado para converter o objeto do dicionário em dados JSON para análise ou leitura e é mais lento do que o método dump ().
sintaxe:
este método tem muitos argumentos opcionais. As utilizações de um argumento obrigatório e dois argumentos opcionais são mostradas neste artigo. Aqui, o primeiro argumento é um argumento obrigatório que é usado para tomar qualquer objeto dicionário, o segundo argumento é usado para definir o número de unidades para indentação e o terceiro argumento é usado para ordenar chaves.
json.dump () method:
This method is used to store python object into a JSON file. É mais rápido do que o método dumps() porque escreve na memória e no arquivo separadamente.
sintaxe:
este método tem muitos argumentos como dumps(). Os usos de três argumentos são usados neste artigo para converter os dados de um objeto dicionário em dados JSON e armazenar os dados em um arquivo JSON. Aqui, o primeiro argumento é usado para pegar um objeto de dicionário que precisa se converter em um objeto JSON, e o segundo argumento é usado para tomar o nome do tratador de arquivos do arquivo onde os dados JSON serão escritos. O terceiro argumento é usado para definir a unidade de indentação.
como estes dois métodos podem ser usados para converter objeto dicionário em um arquivo JSON ou cadeia JSON são mostrados abaixo deste artigo.
exemplo-1: Convert dictionary into JSON using dumps () with indentation
It is mentioned before that dumps () method has one mandatory parameter and it can take the dictionary object to convert the data into JSON string. No seguinte script, dict_data é uma variável de dicionário que contém os dados de um registro de estudante particular. No início, o método dumps() é usado com um argumento e o valor de dict_data é convertido em dados JSON. A saída do dicionário e formato JSON é a mesma se nenhuma indentação é usada em dados JSON. Em seguida, o método dumps() é usado com dois argumentos, e 3 é usado como um valor de indentação para dados JSON. A segunda saída JSON irá gerar com indentação.
# Import json módulo
importar json
# Define um dicionário
dict_data = { “student_id”: “011894”, “nome”: “Mateus”, “lote”: 30, “semestre”:6 }
# Imprime o dicionário de dados
print(“Dictonary de Saída: \n”, dict_data, “\n”)
# Converter dicionário para o objeto json sem indentação
json_data = json.dumps (dict_data)
# print JSON data
print (“JSON Output without indentation: \n”,json_data, “\n”)
# Convert dictionary into json object with indentation
json_data = json.dumps(dict_data, indent=3)
# print JSON data with indentation
print(“JSON Output with indentation: \n”, json_data)
saída:
a seguinte saída irá aparecer após a execução do programa.
Exemplo-2: converter o dicionário em JSON usando dumps() com sort_keys
as chaves dos dados JSON podem ser ordenadas usando o argumento sort_keys dos dumps(). O valor padrão deste argumento é falso. No script seguinte, o objeto do dicionário é convertido em dados JSON sem usar o sort_keys e usando o sort_keys para mostrar o uso deste argumento. O primeiro método dumps() é usado com o valor de indentação 5 e o resultado mostra dados JSON usando indentação 5. No segundo método dumps (), o sort_keys é usado e definido como True para ordenar os valores-chave. A última saída do JSON irá mostrar os dados após a ordenação dos valores-chave.
# importar módulo json
importar json
# definir um dicionário
dict_data = {‘nome’:’Madison’, ‘Month’: ‘May’,’year’: 2020, ‘sales’:}
# Print dictionary data
print (“Dictonary Output: \n”, dict_data,”\n”)
# Convert a dictionary with list data into json
json_data = json.dumps(dict_data, indent = 5)
# print JSON data
print(“JSON Output with indentation: \n”, json_data)
# Convert a dictionary with list data into json by sorting keys
json_data = json.dumps (dict_data,indent = 5, sort_keys = True)
# print tried JSON data based on keys
print(“tried JSON Output with indentation: \n”, json_data)
resultado:
a seguinte saída irá aparecer após a execução do programa. A primeira saída de JSON mostra os valores-chave como definidos no dicionário e a segunda saída de JSON mostra os valores-chave em ordem ordenada.
Exemplo-3: Converter dicionário em dados JSON e armazenar em um arquivo JSON
Se você deseja armazenar os dados JSON em um arquivo após a conversão a partir de um dicionário, então você tem que usar o dump() método. Como você pode converter um objeto de dicionário em um dado JSON e armazenar os dados em um arquivo JSON é mostrado neste exemplo. Aqui, o método dump() usa três argumentos. O primeiro argumento leva o objeto do dicionário que é definido antes. O segundo argumento leva a variável de tratamento de arquivos que também é definida antes de criar um arquivo JSON. O terceiro argumento define o valor de indentação. O conteúdo do JSON recém-escrito será impresso mais tarde como saída.
# Import json módulo
importar json
# Define um dicionário
dict_data = { ‘c-101’: ‘PHP’, ‘c-102’: ‘Bash Programming’, ‘c-103’:
‘Programação Python’,
‘c-104’: ‘Object Oriented Programming’}
# Print dictionary data
print (“Dictonary Output: \n”, dict_data,”\n”)
# Set the json filename
jsonFile = ‘course_list.json’
# Open a json file for writing json data
with open (jsonFile, ‘w’) as fileHandler1:
json.dump(dict_data, fileHandler1, indent = 2)
# Open a json file for reading
fileHandler2 = open(jsonFile)
print(“the content of the JSON file: \n”, fileHandler2.ler())
saída:
a seguinte saída irá aparecer após a execução do programa.
conclusão:
é necessário esconder dados de dicionário em dados JSON para tornar várias tarefas de programação mais fáceis. Esta conversão de dados é importante porque os dados podem transferir de um script para outro script facilmente usando JSON. Espero que este tutorial ajude os usuários python a conhecer as maneiras de converter dados de dicionário em dados JSON e aplicá-los corretamente em seu script.