Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
checking value on json
#1
Hi

i've a little question about checking a value in a json file.

I've my json file like that:

{
    "server_model": {
        "server_type1": {
            "service":["service1","service2"],
            "seuil":{}
        },
        "server_type2": {
            "service":["service1","service2"],
            "seuil":{}
        },
    }
}
In my python script I want to check if a value exist in my json file, and it not, error message and exist.

So i use:

server_type = "server_type2"

try:
    data_config = json.load(json_file)
except ValueError:
    logging.critical("Data were not valid json for %s", data_config)
    sys.exit(1)


for key, value in data_config.items():

    if  server_type not in data_config:
        logging.critical("We can not continue: Server type %s not present in config file", server_type)
        sys.exit(50)
But it doesnt work. My result is that script go on this logging.critical.
(If I put if server_type in data_config, it works but it's not logical..)
I tried many things to parse this value but with no success...


I spent many time on this little problem so if you have ideas... ?
Thanks for light

Alex
Reply
#2
not tested but try:

server_type = "server_type2"
 
try:
    data_config = json.load(json_file)
except ValueError:
    logging.critical("Data were not valid json for %s", data_config)
else:
    if server_type not in data_config['server_model'].keys():
        logging.critical("We can not continue: Server type %s not present in config file", server_type)
depending on what you would do further it may be better to try to access data you want with data_config['server_model'].get(server_type) and act accordingly from there
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply
#3
Top it works fine.
Thanks for answer, I understand now.

Alex
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020