10
votes

Validation d'objet JSON en JavaScript

J'utilise l'objet JSON comme entrée dans le champ de texte. Y a-t-il un moyen de valider cet objet JSON dans JavaScript ??


3 commentaires

Essayez-vous de valider qu'il est syntaxiquement valide JSON ou qu'elle est conforme à un certain schéma?


J'essaie simplement de vérifier si l'objet entré dans Textfield est valide JSON.


Vous pouvez utiliser une fonction intval par exemple $ ID = Intval ($ ID); echo json_encode ($ données)


5 Réponses :


0
votes

exécutez-le via un parser JSON ( JSON2.JS si vous n'utilisez pas une bibliothèque avec un intégré) et voir si vous obtenez des données en arrière.


0 commentaires

0
votes

Oui, il y a plusieurs bibliothèques JSON disponibles pour votre utilisation.

Essayez-les lors de l'utilisation de Java:


0 commentaires

21
votes

bâtiment sur l'idée de @quentin, vous pouvez simplement faire quelque chose comme: xxx

Cela nécessitera json2.js Pour être déployé dans la page afin de garantir la prise en charge du navigateur croisé pour le JSON objet .


10 commentaires

Merci d'avoir répondu. Mais je reçois une erreur pour un objet JSON valide aussi.


{"ID": "B9C8E5F2-50AE-102C-8DA0-DV8GB9F250AE", "AT": 2, "Tmax": 100, "Imp": [{"Impide": "DV8GB9F2-50AE-102C-8DA0-12313A002CD2" "H": 50, "W": 320, "Instl": 0}], "App": {"Aide": "73737", "Nom": "Nous régions", "Ver": "2.1. 3 "}," périphérique ": {" dpid ":" dfe9f2bdfe9f2bdfe9f2bdfe9f2bdfe9f2bdfe9f2b "," IP ":" 124.32.53.1 "," UA ":" Mozilla% 2f5.0% 20 (iPhone% 3b% 20u% 3b% 20CPU% 20Iphone "}}


Il semble travailler pour moi, consultez ce Jsfiddle .


J'utilise cette fonction sur "OnSubmit". Devrait-il être un problème ??


Ne devrait pas être. Est-il possible de configurer un jsfiddle pour démontrer le scénario dans lequel le code échoue?


Ça a marché. Je n'allais pas passer la valeur correcte à la fonction.Merci u pour votre aide.


Son me donne une erreur pour la même chaîne JSON dans la vue de compatibilité IE.


Avez-vous JSON2.JS inclus dans votre page?


Cela ne fonctionne pas lorsque vous mettez des chiffres comme une entrée. Par exemple: console.log (isvalidjson ("123")); // True Je pense que nous devons également vérifier si l'entrée est un numéro.


@ user3816621 Une chaîne numérique est une chaîne JSON valide.



3
votes

Si vous souhaitez valider l'objet à un certain schéma, vous pouvez essayer JSD Validator


0 commentaires

0
votes

Voici le code qui a fonctionné pour moi,

$scope.jsonFunc = function(json){
        try {
            $scope.jsonData = JSON.stringify(JSON.parse(json), null, 2);
            return true;
            $scope.errorMessage = "Valid JSON";
        } catch (e) {
            $scope.errorMessage = e.message;
            return false;
        }
}


0 commentaires