Java 在类';org.apache.log.Logger';
从beanshell调用函数。在jar文件中实现的代码Java 在类';org.apache.log.Logger';,java,apache,jmeter,beanshell,Java,Apache,Jmeter,Beanshell,从beanshell调用函数。在jar文件中实现的代码 log.info(m.differenceValue(jsonElement1,jsonElement2)); 公共静态映射差异值(JsonElement json1、JsonElement json2){ Gson g=新的Gson(); 类型mapType=newTypeToken(){}.getType(); Map firstMap=g.fromJson(json1,mapType); Map secondMap=g.from
log.info(m.differenceValue(jsonElement1,jsonElement2));
公共静态映射差异值(JsonElement json1、JsonElement json2){
Gson g=新的Gson();
类型mapType=newTypeToken(){}.getType();
Map firstMap=g.fromJson(json1,mapType);
Map secondMap=g.fromJson(json2,mapType);
返回(mapDifference(firstMap,secondMap));
}
公共静态映射差异(Map您试图将一个映射传递给,而它只接受字符串等。方法传递给您需要以某种方式将映射转换为字符串
我也不认为你在BeNeS壳中有泛型支持,考虑改为切换。
< P>你试图通过<强> map ,但是它只接受字符串,等等。
我也不认为你在BeNeS壳中有泛型支持,考虑切换到。
尝试<代码> log .FIN(M.DealEngEngE1(JSONELMENT1,JSONELMENT2).toSTRIGN());< /Cord>< /P>
根据文档,这可能适用于HashMap(取决于那里的键和值)
公共字符串toString()
返回此映射的字符串表示形式。
字符串表示法由中的键值映射列表组成
由映射的entrySet视图的迭代器返回的顺序,包含在
大括号(“{}”)。相邻映射由字符“,”分隔
(逗号和空格)。每个键值映射都呈现为键
后跟等号(“=”),后跟关联值。
键和值按String.valueOf(对象)转换为字符串
尝试log.info(m.differenceValue(jsonElement1,jsonElement2.toString());
根据文档,这可能适用于HashMap(取决于那里的键和值)
公共字符串toString()
返回此映射的字符串表示形式。
字符串表示法由中的键值映射列表组成
由映射的entrySet视图的迭代器返回的顺序,包含在
大括号(“{}”)。相邻映射由字符“,”分隔
(逗号和空格)。每个键值映射都呈现为键
后跟等号(“=”),后跟关联值。
键和值按String.valueOf(对象)转换为字符串
Hi Yuri感谢共享的解决方案。它现在正在打印数据没有问题。如果您认为它解决了问题,请接受答案。:-)Hi Yuri感谢共享的解决方案。现在正在打印数据没有问题。如果您认为答案能解决问题,请接受答案。:-)
public static <K, V> Map<String,Object> differenceValue(JsonElement json1, JsonElement json2){
Gson g = new Gson();
Type mapType = new TypeToken<Map<String, Object>>(){}.getType();
Map<String,Object> firstMap = g.fromJson(json1, mapType);
Map<String, Object> secondMap = g.fromJson(json2, mapType);
return(mapDifference(firstMap,secondMap));
}
public static <K, V> Map<K, V> mapDifference(Map<? extends K, ? extends V> left, Map<? extends K, ? extends V> right) {
Map<K, V> difference = new HashMap<K, V>();
difference.putAll(left);
difference.putAll(right);
difference.entrySet().removeAll(right.entrySet());
return difference;
}