Python:
Trabalhando com JSON

Como fazer:

A biblioteca integrada json do Python simplifica o processo de codificação (converter objetos Python para JSON) e decodificação (converter JSON para objetos Python). Veja como você pode usá-la:

Codificando objetos Python para JSON:

import json

dados = {
    "nome": "John Doe",
    "idade": 30,
    "eFuncionario": True,
    "enderecos": [
        {"cidade": "Nova York", "cep": "10001"},
        {"cidade": "São Francisco", "cep": "94016"}
    ]
}

json_string = json.dumps(dados, indent=4)
print(json_string)

Saída:

{
    "nome": "John Doe",
    "idade": 30,
    "eFuncionario": true,
    "enderecos": [
        {
            "cidade": "Nova York",
            "cep": "10001"
        },
        {
            "cidade": "São Francisco",
            "cep": "94016"
        }
    ]
}

Decodificando JSON para objetos Python:

json_string = '''
{
    "nome": "John Doe",
    "idade": 30,
    "eFuncionario": true,
    "enderecos": [
        {
            "cidade": "Nova York",
            "cep": "10001"
        },
        {
            "cidade": "São Francisco",
            "cep": "94016"
        }
    ]
}
'''

dados = json.loads(json_string)
print(dados)

Saída:

{
    'nome': 'John Doe', 
    'idade': 30, 
    'eFuncionario': True, 
    'enderecos': [
        {'cidade': 'Nova York', 'cep': '10001'}, 
        {'cidade': 'São Francisco', 'cep': '94016'}
    ]
}

Trabalhando com bibliotecas de terceiros:

Para lidar com JSON de forma mais complexa, como validação de esquema ou análise de arquivos JSON diretamente de URLs, bibliotecas como requests para solicitações HTTP e jsonschema para validação podem ser úteis.

Exemplo com requests para analisar JSON de uma URL:

import requests

resposta = requests.get('https://api.exemplo.com/dados')
dados = resposta.json()

print(dados)

Este trecho busca dados JSON de uma URL dada e os converte diretamente em um objeto Python.

Usando jsonschema para validar JSON:

Primeiro, instale a biblioteca via pip:

pip install jsonschema

Então, use-a da seguinte forma:

from jsonschema import validate
import jsonschema

esquema = {
    "tipo": "object",
    "propriedades": {
        "nome": {"tipo": "string"},
        "idade": {"tipo": "number"},
        "eFuncionario": {"tipo": "boolean"},
    },
    "requeridos": ["nome", "idade", "eFuncionario"]
}

# Supondo que `dados` seja um dicionário obtido da decodificação de JSON
try:
    validate(instance=dados, schema=esquema)
    print("Dados JSON válidos.")
except jsonschema.exceptions.ValidationError as err:
    print("Erro de validação:", err)

Este exemplo valida seu dicionário Python (obtido de dados JSON decodificados) contra um esquema pré-definido, garantindo que os dados estejam em conformidade com os formatos e tipos esperados.