如何检查给定的json-path表达式在语法上正确?

问题描述

我需要验证以下json-path在语法上是否正确:

$[*].key1.key2[*].key3.key4 // valid
$[*].key1/key2[*].key3"key4 // invalid

是否有任何API可以检查上述json-path表达式并在Java中返回true / false?

解决方法

尝试导入Jayway JsonPath https://github.com/json-path/JsonPath,然后导入JsonPath.read(“ {}”,yourJsonPath);如果没有爆炸,则该路径有效。

,

使用JSON.parse之类的JSON解析器:

{
  "sender":{
    "user_ref":"<USER_REF>"
  },"recipient":{
    "id":"<PAGE_ID>"
  },"timestamp":1458692752478,"referral": {
     "ref": "<REF_DATA_PASSED_IN_CODE>","source": "CUSTOMER_CHAT_PLUGIN","type": "OPEN_THREAD","referer_uri": "<WEBSITE_URL>"
  }
}