刚开始使用 JSON 参考库 ( http://docs.oracle.com/javaee/7/api/javax/json/package-summary.html )编写一些代码,遇到了一个简单的问题。使用简单但“丑陋”的解决方案。
JsonObjects 是“不可变的”,尽管有 Map 类的支持,这意味着我不应该修改它们。
我想非常动态地构造一个对象,比如说,获取一个数组并向其中添加一个元素,一个完整的“读/写”模型。
然而 JsonObjectBuilder 似乎实现了一个“只写”接口——你可以把东西放在那里,但你永远不能读它们(不是子类映射或任何东西吗?),所以如果你把 ArrayBuilder 放在那里,你有如果您以后想要添加到它,请跟踪它(因为没有办法“读取”数组构建器并且......)
所以接缝有两个接口,一个是只读的,一个是只写的,唯一可能的转换是只写到只读,没有回头路,也没有办法读/写 JSON 结构。
我觉得我错过了一些非常明显的东西......
显而易见的“脏”解决方案当然是将数据存储在我自己的结构中,然后在构建时将其转换为 JSON 构建器,但这对需要修改并传递它的 JSON 接收器并没有真正帮助. 我的对象与其对象之间的双向接口,或者将只读 json(递归)转换回构建器并在此过程中对其进行修改的转换器...
我错过了什么?为什么我似乎必须构建自己的 JSON 表示并将其流入和流出 RO / WO 模型?
(是的,我确实尝试过谷歌搜索,我想出的任何东西都没有帮助,这让我更加困惑......)