php判断json或者数组格式与给定格式是否一致

开发的时候碰到个问题,我们技术人员规定了录数据的格式,例如:我们的json模板如下:
{

"sentence":"Martin and Kelvin went to Chengduon holiday. They are ordering in a rest aurant now but cannot read the characterson the menu.",
"image":"level3/lesson7/l3-l7-p12-1.jpg",
"words":[
    {
        "pinyin":"shang wang",
        "chinese":"好吃",
        "english":"delicious",
        "image":""
    },
    {
        "pinyin":"yi qi",
        "chinese":"米饭",
        "english":"rice",
        "image":""
    },
    {
        "pinyin":"zheng zai",
        "chinese":"汉字",
        "english":"Chinese character",
        "image":""
    }
]

}

然后找其他部门的人来录数据,因为数据特别多,所以我们需要批量检测json下标及层级关系是否与我们提供的完全一致,以及下标对应的值类型是否都一致。例如:words是第一层级,它对应的是一个数组键值,chinese是words下面的第一层级,对应的值是字符串类型。
做这样的判断是为了检测出哪些数据与我们提供的模板不一致,就针对性的改,因为数据有10000多条,不可能一一对应去核对。关于json格式是否正确,以及里面的静态资源是否存在,我都已经想办法核对了,但是json结构和json对应下标的值的类型找不到好的办法校验,请高手支招,多谢了!

阅读 3.2k
1 个回答

百度搜索 json schema

或者可以使用一些 validate 框架,一般都有这功能。
可以使用 laravel/validation ,symfony/validate

还有个解决方案是 symfony 有个扩展包,可以先定义一个数组的结构,来进行验证

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题