我的用例我想迭代一个字符串列表并更改与LHS中的条件匹配的条目
这是json
{
"name":[
"james",
"harry",
"potter",
"james"
]
}
这是我的drl
when
$names:Names($nameslist:name)
$value:String() from $nameslist
Boolean(booleanValue == true) from $value == "james"
then
System.out.println("Pojo Welcome-------");
end
我的要求是我要更改列表 名称是詹姆斯我希望将其变成彼得。 我该怎么办?
这是我的pojo课程
package pojo_Classes;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"name"
})
public class Assignment1News {
@JsonProperty("name")
private List<String> name = null;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("name")
public List<String> getName() {
return name;
}
@JsonProperty("name")
public void setName(List<String> name) {
this.name = name;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
我的要求是我要更改列表 名称是詹姆斯我希望将其变成彼得。 我该怎么办?
答案 0 :(得分:2)
避免使用简单的函数(或静态方法)来完成更新列表的简单工作毫无意义。
rule "james to peter"
when
$names:Names($nlist:name contains "james")
then
modify( $names ){ setName( replace( $nlist, "james", "peter" ) ); }
end