如何检查值是否存在于另一个属性json模式中

时间:2019-09-21 13:40:02

标签: javascript json jsonschema

我需要验证该值是否存在于json文件而不是架构文件的其他属性中。我想知道是否有可能。

我已经在搜索“ lookup”或“ reference”之类的关键字,但是结果是对架构文件的引用,而不是json数据。

这是架构

{
  "$schema": "http://json-schema.org/draft-07/schema",
  "title": "List of people cars",
  "properties": {
    "car":{
      "type":"array",
      "items": {
        "properties": {
          "name": {
            "type":"string"
          }
        }
      }
    },
    "people": {
      "type":"array",
      "items":{
        "properties": {
          "fullname":{
            "type":"string"
          },
          "cars":{
            "type":"string"
            // somehow validate if the car exist in car properties
          }
        }
      }
    }
  }
}

这是json数据

{
  "$schema": "./schema.json",
  "car": [
    {
      "name": "Lamborghini"
    }
  ],
  "people": [
    {
      "fullname": "Ucok",
      "cars": "Lamborghini" //check if the car name exist in the car properties
    }
  ]
}

我希望从上面列出的汽车列表中,自动获取来自people对象的汽车属性值

1 个答案:

答案 0 :(得分:0)

为了检查javascript是否存在值,您可以使用find / findIndex

$patientID = $request->patientID;
$prevAppointments = DB::table('appointments')
  ->leftJoin('users', 'appointments.doctor_id', '=', 'users.id')
  ->select(
    'users.first_name',
    'users.last_name',
    'appointments.appointment_date',
    'appointments.status'
  )
  ->where('appointments.patient_id', $patientID)
  ->get();
return($prevAppointments);

如果返回值未定义或为-1,则该值不存在