This commit is contained in:
wenchengyao 2024-07-04 11:13:31 +08:00
parent bb461bd12c
commit ecdc49d93c
2 changed files with 7 additions and 7 deletions

View File

@ -15,12 +15,11 @@ package com.antgroup.openspg.reasoner.udf.builtin.udf;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONPath;
import com.alibaba.fastjson.JSONValidator;
import com.antgroup.openspg.reasoner.udf.model.UdfDefine;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSONValidator;
public class JsonStringGet {
@ -45,10 +44,10 @@ public class JsonStringGet {
* @return
*/
@UdfDefine(name = "json_get", compatibleName = "UDF_JsonGet")
public Object jsonStrGet(String plainJson, String jsonPath) {
public Object jsonStrGet(String plainJson, String jsonPath) {
try {
// 可能存在传入的plainJson为null的情况
if (plainJson == null ){
if (plainJson == null) {
return "";
}
Object jsonObject = parseJson(plainJson);
@ -62,7 +61,6 @@ public class JsonStringGet {
return "";
}
return "";
}
@UdfDefine(name = "get_rdf_property")

View File

@ -88,7 +88,8 @@ public class UdfTest {
@Test
public void testJsonGet3() {
UdfMng mng = UdfMngFactory.getUdfMng();
String params = "[{\"v\": {\"v1\": \"111\", \"v2\": \"222\"}}, {\"k\": {\"k1\": \"333\", \"k2\": \"444\"}}]";
String params =
"[{\"v\": {\"v1\": \"111\", \"v2\": \"222\"}}, {\"k\": {\"k1\": \"333\", \"k2\": \"444\"}}]";
IUdfMeta udfMeta =
mng.getUdfMeta("json_get", Lists.newArrayList(KTString$.MODULE$, KTString$.MODULE$));
Object rst = udfMeta.invoke(params, "$.k.k2");
@ -98,7 +99,8 @@ public class UdfTest {
@Test
public void testJsonGet4() {
UdfMng mng = UdfMngFactory.getUdfMng();
String params = "[{\"案由\": \"打架斗殴\", \"日期\": \"20240101\"}, {\"案由\": \"制造毒品\", \"日期\": \"20240202\"}]";
String params =
"[{\"案由\": \"打架斗殴\", \"日期\": \"20240101\"}, {\"案由\": \"制造毒品\", \"日期\": \"20240202\"}]";
IUdfMeta udfMeta =
mng.getUdfMeta("json_get", Lists.newArrayList(KTString$.MODULE$, KTString$.MODULE$));
Object rst = udfMeta.invoke(params, "$[案由 rlike '(.*)毒品(.*)'].案由");