Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查jsonpath驼峰路由中是否存在密钥?_Json_Apache Camel_Jsonpath_Spring Camel_Camel Http - Fatal编程技术网

如何检查jsonpath驼峰路由中是否存在密钥?

如何检查jsonpath驼峰路由中是否存在密钥?,json,apache-camel,jsonpath,spring-camel,camel-http,Json,Apache Camel,Jsonpath,Spring Camel,Camel Http,这是下面的json对象,需要检查键是否存在于json对象中,如果键存在且值为空,则我希望将“TH”设置为默认语言。 请帮助我,以及如何在骆驼路线上做到这一点 {“语言偏好”:“”} 您可以使用suppressExceptions标志 .setHeader("languagePreference").jsonpath("$.languagePreference", true) 如果缺少密钥,则不会引发异常。之后,您可以检查标头中的值,然后如果标头为空,则可以指定所需的值(检查标头值的方法有很多)

这是下面的json对象,需要检查键是否存在于json对象中,如果键存在且值为空,则我希望将“TH”设置为默认语言。 请帮助我,以及如何在骆驼路线上做到这一点

{“语言偏好”:“”}


您可以使用suppressExceptions标志

.setHeader("languagePreference").jsonpath("$.languagePreference", true)
如果缺少密钥,则不会引发异常。之后,您可以检查标头中的值,然后如果标头为空,则可以指定所需的值(检查标头值的方法有很多)

.setHeader("languagePreference").jsonpath("$.languagePreference", true)
        //.choice().when(PredicateBuilder.or(header("languagePreference").isNull() , header("languagePreference").isEqualTo("")))
        .choice().when().simple("${header.languagePreference} == null || ${header.languagePreference} == ''")
           .setHeader("languagePreference").constant("TH")
        .end()