我打算在java端比较两个json对象。每个服务json对象结构可能会有所不同。所以,我想为json对象比较编写公共代码。我不能使用杰克逊或任何其他库/ API。因为,我需要获得批准才能使用。这将是更多的负担,而不是编写我自己的Java编码。所以,请提出想法。我怎么写json对象比较? 并且,请提供示例代码库 提前致谢
答案 0 :(得分:0)
查看reference implementation并提取您需要的部分。
答案 1 :(得分:0)
我假设您从一些专有或内部类开始在内存中表示JSON,并且表示基于哈希表/哈希映射或其他类似。
进行比较的方法是递归地将JSON对象树中的名称 - 值对复制到使用TreeMaps构建的树中。然后,您可以递归地遍历/迭代两个版本的JSON的TreeMaps树。
或者将属性名称提取到TreeSet中,迭代它们以按照一致的顺序为您提供属性名称。
请提供示例代码库
我自己写过这样的东西。 IIRC,它是我的一个GPL项目的单元测试。哎呀!对不起: - )
FWIW - 您应该告诉/提醒您的管理层他们的开源使用政策为您做了多少额外工作 ...并调整您的项目估算值以考虑到这一点。
FWIW 2 - 从网络上的某个随机人员那里获取示例代码比使用已发布的开源库更具风险(从IP角度来看)。至少在图书馆,你知道它来自哪里以及适用的许可条件。 (有人可能会向你发送从你最喜欢的软件垄断者那里窃取的专有代码。我打赌你的律师会喜欢这个!)