Concaténer 2 listes JSON
RésoluBonjour,
J'essaye de concaténer deux variables contenant du JSON. Je voudrais ajouter une nouvelle ligne à une liste JSON déjà présente dans un fichier sans écraser celui-ci.
Voici le code :
def json_block_name(blockName): blockId = "block.extratexturesblocks." + blockName JsonData = {blockId : blockName.replace("_", " ").title()} print("JsonData:", JsonData) with open("../src/main/resources/assets/extratexturesblocks/lang/en_us.json") as fyl4: ctc = fyl4.read() print("ctc:", ctc) JsonDataOpen = json.loads("".join(ctc)) print("JsonDataOpen:", JsonDataOpen)
A voir également:
- Concaténer 2 listes JSON
- Supercopier 2 - Télécharger - Gestion de fichiers
- Concatener 2 cellules excel - Guide
- 2 ecran pc - Guide
- Faire 2 colonnes sur word - Guide
- Whatsapp 2 - Guide
1 réponse
Bonjour,
De manière générale, du moment que tu arrives à charger les deux fichiers json et à réunir les deux structures pythons engendrée dans la structure qui te convient, il te suffit alors de dumper cette structure pour obtenir le résultat souhaité. Bref, sans voir les deux fichiers json en question et le résultat attendu, difficile de donner une réponse très précise.
- S'ils contiennent tous les deux une liste, tu peux les charger dans une liste dédiée puis dumper la liste concaténée :
import json with open("fichier1.json", "r") as f1: l1 = json.load(f) with open("fichier2.json", "r") as f2: l2 = json.load(f) with open("results.json", "w") as f: json.dump(l1 + l2, fp=f, indent=4)
- Si au moins l'un des deux fichiers contient un objet JSON qui n'est pas une liste, tu ne pourras pas les concaténer. Tu peux donc les insérer dans une liste qui sera alors dumpée. Le programme reste identique, excepté la dernière ligne qui devient :
json.dump([l1 + l2], indent=4, fp=f)
Bonne chance
Je voudrais ouvrir mon fichier nommée fyl4, qui contient une liste:
et ajouter la variable json JsonData
et que l'on concatène ces deux morceux de json pour devenir :
Merci c'est plus clair. Dans ce cas ce ne sont pas des listes que tu manipules mais des dictionnaires.
Si je devais reformuler correctement ton problème je dirais donc plutôt :
Quelques remarques par rapport à ton message #1
Bonne chance
Merci,
La question est bien lieux pose que la mienne.
Pour les variables, j'ai l'habitude de les nomme en majuscule avec Java. Je n'ai pas l'habitude de python.
Merci, le script fonctionne parfaite sans probleme
Merci pour ton retour bonne continuation !