Python: когда я пытаюсь вставить JSON-файл в Mongodb, если json-файл недействителен, выдается ошибка. Как отловить ошибку - PullRequest
0 голосов
/ 23 мая 2018

Привет. Я пытаюсь вставить файлы json в mongoDb. Я написал код и у меня все работает.

import sys, json, pymongo,glob
from pymongo import MongoClient
from bson import json_util
from multiprocessing.sharedctypes import template
from json.decoder import JSONDecodeError
from itertools import count


connection = MongoClient('localhost',27017)
db = connection.Mysample
mycollection = db.Mynewsample
folder = 'C:/ESRILKA/Cloud Team/Tmobile/JSON To CSV  Files/JSON files/*.json'
jsonFiles = glob.glob(folder)
for file in jsonFiles:
    with open(file) as template:
                      
                try:                
                    template_dct=json.load(template)
                    result = db.Mynewsample.insert_one(template_dct)                    
                    print('Inserted post id %s ' % result.inserted_id)
                    
                except (ValueError, KeyError, TypeError) as e:
                        print("Invalid json at")
                        pass
            
                 

Но теперь я хотел бы проверить файл json перед вставкой. То есть, если json недействителен, на нем должно появиться сообщение «Не удалось выполнить синтаксический анализ и т. Д.»

1 Ответ

0 голосов
/ 23 мая 2018

Используйте try, кроме.Пример:

import json


def is_valid_json(json_string):
    try:
        json.loads(json_string)
    except:
        return False
    return True


# Return True
print(is_valid_json('{"name": "Jhon"}'))

# Return False
print(is_valid_json("{'name': 'Jhon'}"))

Демо

...