2016-11-24 3 views
2

Ich bin ein Neuling zu JSON. Ich lerne mehr Dinge in Json-Schema, aber ich stand hilflos in der Prüfung meiner user.json Datei gegen json-schema.json Datei. Bitte beachten Sie, dass ich mit einer Javascript-Variable testen muss, die entweder wahr oder falsch zurückgeben soll, um weiter zu verarbeiten. Hiermit habe ich meine Dateien eingefügt.Wie testet man eine JSON-Datei mit JSON-Schema-Datei

json-schema.json

{ 
    "description": "Any validation failures are shown in the right-hand Messages pane.", 
    "type": "object", 
    "properties": { 
    "foo": { 
     "type": "number" 
    }, 
    "bar": { 
     "type": "string", 
     "enum": [ 
     "a", 
     "b", 
     "c" 
     ] 
    } 
    } 
} 

user.json

{ 
"foo": 12345, 
"bar": "a" 
} 

Wenn ich den obigen Code in http://jsonschemalint.com/#/version/draft-05/markup/json getestet IT user.json sagen ist in richtigen Format. Aber ich muss vor Ort testen

Vielen Dank im Voraus.

+0

Mögliche Duplikat [? Wie zu testen, ob ein String JSON ist oder nicht] (http://stackoverflow.com/questions/9804777/how -zu-test-wenn-eine-string-ist-json-oder-nicht) – Mahi

+0

Im Browser oder in einer App? – Legends

+0

In Browser @Legends –

Antwort

0

Sie können einen von JSON schema validators verwenden.

Beispiel einer dieser Bibliotheken, ajv:

import Ajv from 'ajv'; 

import schema from 'schema.json'; 
import data from 'data.json'; 

function isValid(schema, data) { 
    const ajv = new Ajv(); 
    const valid = ajv.validate(schema, data); 

    if (!valid) { 
    console.log(ajv.errors); 
    return false; 
    } 

    return true; 
}