JSON SChema到JSON对象

时间:2018-12-04 15:36:05

标签: json jsonschema

谁能帮助我创建代码以使用JavaScript中的JSON模式生成示例JSON。 我有一个JSON模式作为输入,并且必须在javascript转换后将JSON作为输出。

代码应该是动态的。

示例:

JSON SCHEMA-

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "glossary": {
            "type": "object",
            "properties": {
                "title": {
                    "type": "string"
                },
                "GlossDiv": {
                    "type": "object",
                    "properties": {
                        "title": {
                            "type": "string"
                        },
                        "GlossList": {
                            "type": "object",
                            "properties": {
                                "GlossEntry": {
                                    "type": "object",
                                    "properties": {
                                        "ID": {
                                            "type": "string"
                                        },
                                        "SortAs": {
                                            "type": "string"
                                        },
                                        "GlossTerm": {
                                            "type": "string"
                                        },
                                        "Acronym": {
                                            "type": "string"
                                        },
                                        "Abbrev": {
                                            "type": "string"
                                        },
                                        "GlossDef": {
                                            "type": "object",
                                            "properties": {
                                                "para": {
                                                    "type": "string"
                                                },
                                                "GlossSeeAlso": {
                                                    "type": "array",
                                                    "items": [
                                                        {
                                                            "type": "string"
                                                        }, {
                                                            "type": "string"
                                                        }
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "para", "GlossSeeAlso"
                                            ]
                                        },
                                        "GlossSee": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "ID", "SortAs", "GlossTerm", "Acronym", "Abbrev", "GlossDef", "GlossSee"
                                    ]
                                }
                            },
                            "required": [
                                "GlossEntry"
                            ]
                        }
                    },
                    "required": [
                        "title", "GlossList"
                    ]
                }
            },
            "required": [
                "title", "GlossDiv"
            ]
        }
    },
    "required": [
        "glossary"
    ]
}

JSON输出-

{
    "glossary": {
        "title": "example glossary",
        "GlossDiv": {
            "title": "S",
            "GlossList": {
                "GlossEntry": {
                    "ID": "SGML",
                    "SortAs": "SGML",
                    "GlossTerm": "Standard Generalized Markup Language",
                    "Acronym": "SGML",
                    "Abbrev": "ISO 8879:1986",
                    "GlossDef": {
                        "para": "A meta-markup language, used to create markup languages such as DocBook.",
                        "GlossSeeAlso": [
                            "GML", "XML"
                        ]
                    },
                    "GlossSee": "markup"
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

有一个来自JSON模式的伪造数据的开源生成器。我想您可以将这个项目用作起点。

https://json-schema-faker.js.org/