2 votes

Besoin d'aide pour analyser un fichier JSON

Je travaille sur un fichier qui contient des données au format JSON, mais l'analyseur JSON est incapable de reconnaître les données pour les raisons suivantes

1-Les objets sont complétés par une barre oblique inversée supplémentaire.

2-Les accolades de début et de fin d'objet sont entre guillemets. {"menu":"{ }"}

J'ai utilisé replace() mais elle efface tous les tirets noirs, ce qui pose problème.

Exemple de données

{"menu": "{
 \"URL\": \"http:\\/\\/www.example.com\\/concepts\\/test\\/data\\/\",
 \"value\": \"File\",
  \"popup\":\"testfile\" 
  }"}

résultat attendu

{"menu": {
"url": "http:\/\/www.example.com\/concepts\/test\/data\/",
"value": "File",
"popup":"testfile" 
}}

Toute aide serait appréciée.

Merci

3voto

miken32 Points 8438

Votre menu est juste du JSON sous forme de chaîne et peut être extrait assez facilement.

import json
inputjs = r"""{"menu": "{
 \"URL\": \"http:\\/\\/www.example.com\\/concepts\\/test\\/data\\/\",
 \"value\": \"File\",
  \"popup\":\"testfile\" 
  }"}"""

result = json.loads(inputjs.replace('\n', ''))
menu = result["menu"]
result = json.loads(menu);
json.dumps({'menu':result})

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X