Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/LianjiaTech/json-diff
/ functions
Functions
148 in github.com/LianjiaTech/json-diff
⨍
Functions
148
◇
Types & classes
39
↓ 53 callers
Method
getLeft
()
src/main/java/com/ke/diff/model/Result.java:48
↓ 53 callers
Method
getRight
()
src/main/java/com/ke/diff/model/Result.java:56
↓ 36 callers
Method
diff
对两个JsonNull进行比较时,需要实现此方法。 @param a 要比较的第一个JsonNull @param b 要比较的第二个JsonNull @param pathModule 路径模型 @return 返回不同的比较结果
src/main/java/com/ke/diff/algorithm/nulls/NullComparator.java:22
↓ 30 callers
Method
withNoisePahList
设置噪音路径 @param noisePahList 噪音路径列表 @return 对象本身
src/main/java/com/ke/diff/Diff.java:153
↓ 25 callers
Method
withAlgorithmEnum
选择算法模型 @param algorithmEnum 算法模型枚举类 @return 对象本身
src/main/java/com/ke/diff/Diff.java:133
↓ 15 callers
Method
diffElement
对象内部包含其他非数组类型,对这些类型比较需要使用JsonElement比较方法 @param a 要比较的第一个JsonElement @param b 要比较的第一个JsonElement @param pathModule 路径模型 @return 返回不相等的结果
src/main/java/com/ke/diff/algorithm/array/ArrayComparator.java:33
↓ 15 callers
Method
getDiffResultModels
()
src/main/java/com/ke/diff/model/DiffContext.java:41
↓ 15 callers
Method
withSpecialPath
设置自定义路径 @param specialPath 自定义路径列表 @return 对象本身
src/main/java/com/ke/diff/Diff.java:143
↓ 12 callers
Method
getDiffType
()
src/main/java/com/ke/diff/model/Result.java:64
↓ 10 callers
Method
getLeftPath
()
src/main/java/com/ke/diff/model/PathModule.java:65
↓ 8 callers
Method
addAllpath
同时在A和B路径列表最后加上一个Path路径
src/main/java/com/ke/diff/model/PathModule.java:84
↓ 8 callers
Method
getArrayAlgorithm
()
src/main/java/com/ke/diff/algorithm/AlgorithmModule.java:62
↓ 8 callers
Method
removeAllLastPath
同时移除A和B路径列表中最后的一个路径
src/main/java/com/ke/diff/model/PathModule.java:101
↓ 7 callers
Method
getLeftPath
()
src/main/java/com/ke/diff/model/Result.java:32
↓ 7 callers
Method
setDiffResultModels
(List<SingleNodeDifference> singleNodeDifferences)
src/main/java/com/ke/diff/model/DiffContext.java:45
↓ 7 callers
Method
setSame
(boolean same)
src/main/java/com/ke/diff/model/DiffContext.java:37
↓ 6 callers
Method
constructArrayPath
数组索引号加一个中括号表示数组路径 @param i 数组元素的索引号 @return 索引号增加中括号
src/main/java/com/ke/diff/algorithm/array/AbstractArray.java:16
↓ 6 callers
Method
constructResult
将diff上下文转换成diff最终结果 @param diffContext diff比较的直接结果 @return diff展示的结果
src/main/java/com/ke/diff/model/ResultConvertUtil.java:23
↓ 5 callers
Method
getRightPath
()
src/main/java/com/ke/diff/model/Result.java:36
↓ 4 callers
Method
isSame
()
src/main/java/com/ke/diff/model/DiffContext.java:33
↓ 4 callers
Method
jsonElement2Str
将比较的元素转换成String类型方便结果展示 @param element 元素 @return 元素转换成的字符串
src/main/java/com/ke/diff/algorithm/AbstractPrimitiveAndOther.java:16
↓ 4 callers
Method
parentContextAddChildContext
如果下层diff结果不同,会把下层diff结果加入到上层diff结果中去。 @param parentResult 上层结果 @param childResult 下层结果
src/main/java/com/ke/diff/algorithm/AbstractObjectAndArray.java:41
↓ 4 callers
Method
setDiffType
(String diffType)
src/main/java/com/ke/diff/model/Result.java:68
↓ 4 callers
Method
setLeftPath
(String leftPath)
src/main/java/com/ke/diff/model/Result.java:40
↓ 4 callers
Method
setRightPath
(String rightPath)
src/main/java/com/ke/diff/model/Result.java:44
↓ 3 callers
Method
getAlgorithmModule
()
src/main/java/com/ke/diff/AlgorithmEnum.java:51
↓ 3 callers
Method
withArrayComparator
自定义数组比较器 @param arrayComparator 数组比较器 @return 对象本身
src/main/java/com/ke/diff/Diff.java:173
↓ 3 callers
Method
withObjectComparator
自定义对象比较器 @param objectComparator 对象比较器 @return 对象本身
src/main/java/com/ke/diff/Diff.java:163
↓ 2 callers
Method
addLeftPath
(String lastPath)
src/main/java/com/ke/diff/model/PathModule.java:89
↓ 2 callers
Method
addRightPath
(String lastPath)
src/main/java/com/ke/diff/model/PathModule.java:93
↓ 2 callers
Method
constructAlgorithmModule
构造算法模型,数组中元素比较需要使用到其他非数组算法 @param algorithmModule 算法模型:包含对象、数组、基本类型、空类型、其他类型算法
src/main/java/com/ke/diff/algorithm/array/ArrayComparator.java:39
↓ 2 callers
Method
diff
数组比较核心算法,支持数组a长度小于b长度时使用
src/main/java/com/ke/diff/algorithm/array/SimilarArrayComparator.java:105
↓ 2 callers
Method
diffValueByKey
对两个对象进行比较:遍历keySet中的所有key, 在a和b对象中找对应的value值进行比较 @param a 要比较的第一个对象 @param b 要比较的第二个对象 @param keySet key的集合 @param pathModule 路径模型 @return 不同的比较结果
src/main/java/com/ke/diff/algorithm/object/AbstractObject.java:30
↓ 2 callers
Method
exchangeLeftAndRightPath
将路径模型中a和b的路径交换 @param pathModule 路径模型
src/main/java/com/ke/diff/algorithm/array/SimilarArrayComparator.java:95
↓ 2 callers
Method
listJoin
将path路径列表改为字符串 @param path 当前路径 @return 当前路径字符串
src/main/java/com/ke/diff/algorithm/object/AbstractObject.java:118
↓ 2 callers
Method
setLeft
(Object left)
src/main/java/com/ke/diff/model/Result.java:52
↓ 2 callers
Method
setRight
(Object right)
src/main/java/com/ke/diff/model/Result.java:60
↓ 2 callers
Method
withNullComparator
自定义空类型比较器 @param nullComparator 空类型比较器 @return 对象本身
src/main/java/com/ke/diff/Diff.java:194
↓ 2 callers
Method
withOtheComparator
自定义其他类型比较器 @param otherComparator 其他类型比较器 @return 对象本身
src/main/java/com/ke/diff/Diff.java:204
↓ 2 callers
Method
withPrimitiveAlgorithm
自定义基本类型比较器 @param primitiveComparator 基本类型比较器 @return 对象本身
src/main/java/com/ke/diff/Diff.java:184
↓ 1 callers
Method
constrcutDefaultComparator
没有初始的比较器替换成默认的
src/main/java/com/ke/diff/Diff.java:89
↓ 1 callers
Method
constructAddContext
此时a数组没有该元素,b数组有元素,结果为新增 @param b 数组 @param index 索引号 @param pathModule 路径模型 @return 生成的不同结果
src/main/java/com/ke/diff/algorithm/array/SimilarArrayComparator.java:196
↓ 1 callers
Method
constructModifyContext
返回两个数组对应索引号元素比较结果 @param a 数组a @param b 数组b @param i 数组a中元素的索引号 @param bestLineIndex 数组b中元素的索引号,即找到的和a中元素接接近的元素索引号。 @param pathModule 路径模型 @return 返回不
src/main/java/com/ke/diff/algorithm/array/SimilarArrayComparator.java:212
↓ 1 callers
Method
constructSimilarMatrix
用数组a的一个元素与数组b中所有元素分别比较,会得到n次比较结果,结果为不相等的结果对数,在矩阵中更新n次结果。
src/main/java/com/ke/diff/algorithm/array/SimilarArrayComparator.java:223
↓ 1 callers
Method
convert
数据模型转换,增加类型字段。 @param resultModel 比较结果 @return 展示模型
src/main/java/com/ke/diff/model/ResultConvertUtil.java:58
↓ 1 callers
Method
defaultAlgorithmModule
()
src/main/java/com/ke/diff/AlgorithmEnum.java:55
↓ 1 callers
Method
defaultArrayComparator
()
src/main/java/com/ke/diff/Diff.java:112
↓ 1 callers
Method
defaultNullComparator
()
src/main/java/com/ke/diff/Diff.java:120
↓ 1 callers
Method
defaultObjectComparator
()
src/main/java/com/ke/diff/Diff.java:108
↓ 1 callers
Method
defaultOtherComparator
()
src/main/java/com/ke/diff/Diff.java:124
↓ 1 callers
Method
defaultPrimitiveComparator
()
src/main/java/com/ke/diff/Diff.java:116
↓ 1 callers
Method
diffArray
对两个JsonArray进行比较的方法 @param a 要比较的第一个JsonArray @param b 要比较的第二个JsonArray @param pathModule 路径模型 @return 返回不相等的结果
src/main/java/com/ke/diff/algorithm/array/ArrayComparator.java:24
↓ 1 callers
Method
diffElement
@param a 要比较的第一个JsonElement @param b 要比较的第二个JsonElement @return 用来展示的diff结果
src/main/java/com/ke/diff/Diff.java:56
↓ 1 callers
Method
diffElement
对象内部包含其他非JsonObject类型,对这些类型比较需要使用JsonElement比较方法 @param a 元素a @param b 元素b @param pathModule 路径模型 @return 返回不同的比较结果
src/main/java/com/ke/diff/algorithm/object/ObjectComparator.java:33
↓ 1 callers
Method
exchangePathAndResult
交换返回结果中的路径和结果 @param singleNodeDifference 返回结果
src/main/java/com/ke/diff/algorithm/array/SimilarArrayComparator.java:81
↓ 1 callers
Method
exchangeResult
交换返回结果中每一个路径和结果 @param diffContext 返回结果
src/main/java/com/ke/diff/algorithm/array/SimilarArrayComparator.java:70
↓ 1 callers
Method
existPath
校验路径是否存在,即路径是否为空 @param specialPath 特殊路径 @return 特殊路径是否为空
src/main/java/com/ke/diff/algorithm/object/AbstractObject.java:76
↓ 1 callers
Method
existSpecialPath
判断比较结果是否有特殊路径
src/main/java/com/ke/diff/algorithm/array/SimilarArrayComparator.java:249
↓ 1 callers
Method
generateDiffResult
生成比较结果,分以下3种情况考虑 i < a.size() && i < b.size() a.size() <= i b.size() <= i @param a 数组a @param b 数组b @param i 数组a和b中正在比较的元素索引号 @param pathModule 路径模
src/main/java/com/ke/diff/algorithm/array/SimpleArrayComparator.java:45
↓ 1 callers
Method
getCaseList
()
src/test/java/cases/ShowCase.java:44
↓ 1 callers
Method
getNoisePahList
()
src/main/java/com/ke/diff/model/PathModule.java:49
↓ 1 callers
Method
getSpecialPath
判断当前路径是否在特殊路径集合中,如果在,则返回特殊路径。 @param pathModule 路径模型 @return 返回的特殊路径字符串
src/main/java/com/ke/diff/algorithm/object/AbstractObject.java:85
↓ 1 callers
Method
getSpecialPathResult
()
src/main/java/com/ke/diff/model/DiffContext.java:54
↓ 1 callers
Method
needDiff
判断当前字段是否需要diff,如果在噪音字段集合中,则不需要diff,返回false。 @param noisePahList 噪音路径列表 @param pathList 当前路径 @return 当前路径是否在噪音路径中
src/main/java/com/ke/diff/algorithm/object/AbstractObject.java:102
↓ 1 callers
Method
obtainAddDiffResult
得到新增的结果。由于b数组长度大于a,会有几个元素多余。在选出a和b最接近的几对元素后,剩下的几个元素被认为是新增的。
src/main/java/com/ke/diff/algorithm/array/SimilarArrayComparator.java:140
↓ 1 callers
Method
obtainDiffResult
通过相似度矩阵,获取比较结果。 第一步在矩阵找到最小的数字,即找到最接近的几对结果。 第二步找剩余未使用的列数,即多余的元素
src/main/java/com/ke/diff/algorithm/array/SimilarArrayComparator.java:126
↓ 1 callers
Method
obtainModifyDiffResult
从m n的矩阵中选出最接近的几组结果,矩阵中的数字越小,说明2个元素比较时结果相差越少
src/main/java/com/ke/diff/algorithm/array/SimilarArrayComparator.java:153
↓ 1 callers
Method
removeLastLeftPath
移除A路径列表中最后的一个路径
src/main/java/com/ke/diff/model/PathModule.java:109
↓ 1 callers
Method
removeLastRightPath
移除B路径列表中最后的一个路径
src/main/java/com/ke/diff/model/PathModule.java:116
↓ 1 callers
Method
setLeftPath
(LinkedList<String> leftPath)
src/main/java/com/ke/diff/model/PathModule.java:69
↓ 1 callers
Method
setNoisePahList
(List<String> noisePahList)
src/main/java/com/ke/diff/model/PathModule.java:53
↓ 1 callers
Method
setSpecialPath
(LinkedList<String> specialPath)
src/main/java/com/ke/diff/model/PathModule.java:61
↓ 1 callers
Method
setSpecialPathResult
(LinkedList<String> specialPathResult)
src/main/java/com/ke/diff/model/DiffContext.java:58
↓ 1 callers
Method
similarAndLeftJoinAlgorithmModule
()
src/main/java/com/ke/diff/AlgorithmEnum.java:72
↓ 1 callers
Method
similarAndSimpleAlgorithmModule
()
src/main/java/com/ke/diff/AlgorithmEnum.java:77
↓ 1 callers
Method
simpleAndLeftJoinAlgorithmModule
()
src/main/java/com/ke/diff/AlgorithmEnum.java:67
↓ 1 callers
Method
simpleAndSimpleAlgorithmModule
()
src/main/java/com/ke/diff/AlgorithmEnum.java:61
↓ 1 callers
Method
specialPathHandle
如果比较的路径为特殊路径并且比较相等,特殊路径会被标识,添加到返回结果中。 @param isSame 比较结果是否相等 @param specialPathResult 返回的特殊路径结果 @param pathModule 路径模型
src/main/java/com/ke/diff/algorithm/object/AbstractObject.java:59
Method
AlgorithmEnum
(AlgorithmModule algorithmModule)
src/main/java/com/ke/diff/AlgorithmEnum.java:46
Method
AlgorithmModule
(ObjectComparator objectAlgorithm, ArrayComparator arrayAlgorithm, PrimitiveCompara
src/main/java/com/ke/diff/algorithm/AlgorithmModule.java:30
Method
Diff
()
src/main/java/com/ke/diff/Diff.java:83
Method
DiffContext
(boolean isSame)
src/main/java/com/ke/diff/model/DiffContext.java:28
Method
PathModule
()
src/main/java/com/ke/diff/model/PathModule.java:31
Method
SingleNodeDifference
比较结果
src/main/java/com/ke/diff/model/SingleNodeDifference.java:31
Method
constructAlgorithmModule
构造算法模型,比如使用对象和数组类型算法比较时,内部会用到其他类型的算法。 @param algorithmModule 算法模型
src/main/java/com/ke/diff/algorithm/AbstractObjectAndArray.java:32
Method
constructAlgorithmModule
构造算法模型,对象比较时,内部元素比较需要使用到其他非数组算法 @param algorithmModule 算法模型:包含对象、数组、基本类型、空类型、其他类型算法
src/main/java/com/ke/diff/algorithm/object/ObjectComparator.java:39
Method
diff
测试withA withB diff方法
src/test/java/com/ke/diff/diff/DiffTest.java:30
Method
diff
测试"a"和1比较结果。
src/test/java/com/ke/diff/algorithm/primitive/DefaultPrimitiveComparatorTest.java:20
Method
diff
测试JsonNull和JsonNull比较结果。
src/test/java/com/ke/diff/algorithm/nulls/DefaultNullComparatorTest.java:20
Method
diff
@param strA 要比较的第一个字符串 @param strB 要比较的第二个字符串 @return 用来展示的diff结果
src/main/java/com/ke/diff/Diff.java:79
Method
diff
@param a 要比较的第一个JsonPrimitive @param b 要比较的第二个JsonPrimitive @param pathModule 路径模型 @return 不同的比较结果
src/main/java/com/ke/diff/algorithm/primitive/DefaultPrimitiveComparator.java:26
Method
diff
对两个基本类型进行比较时,需要实现此方法。 @param a 要比较的第一个JsonPrimitive @param b 要比较的第二个JsonPrimitive @param pathModule 路径模型 @return 不同的比较结果
src/main/java/com/ke/diff/algorithm/primitive/PrimitiveComparator.java:21
Method
diff
对两个JsonElement进行比较并且两个JsonElement的类型不相等时,需要实现此方法。 @param a 要比较的第一个JsonElement @param b 要比较的第二个JsonElement @return 不同的比较结果
src/main/java/com/ke/diff/algorithm/other/OtherComparator.java:22
Method
diff
@param a 要比较的第一个JsonElement @param b 要比较的第二个JsonElement @param pathModule 路径模型 @return 不同的比较结果
src/main/java/com/ke/diff/algorithm/other/DefaultOtherComparator.java:27
Method
diff
当要比较的两个JsonElement是空类型时,默认比较方法 @param a 第一个空类型 @param b 第二个空类型 @param pathModule 路径模型 @return 返回结果
src/main/java/com/ke/diff/algorithm/nulls/DefaultNullComparator.java:21
Method
diff
@param a 要比较的第一个JsonObject @param b 要比较的第二个JsonObject @param pathModule 路径模型 @return 不同的比较结果
src/main/java/com/ke/diff/algorithm/object/SimpleObjectComparator.java:25
Method
diff
@param a 要比较的第一个JsonObject @param b 要比较的第二个JsonObject @param pathModule 路径模型 @return 不同的比较结果
src/main/java/com/ke/diff/algorithm/object/LeftJoinObjectComparator.java:24
Method
diff
对两个JsonObject进行比较时,需要实现此方法。 @param a 要比较的第一个JsonObject @param b 要比较的第二个JsonObject @param pathModule 路径模型 @return 返回不同的比较结果
src/main/java/com/ke/diff/algorithm/object/ObjectComparator.java:24
Method
diff1
测试withNoisePahList方法
src/test/java/com/ke/diff/diff/DiffTest.java:41
Method
diff1
测试"a"和JsonNull比较结果。
src/test/java/com/ke/diff/algorithm/other/DefaultOtherComparatorTest.java:22
next →
1–100 of 148, ranked by callers