我从我无法控制的上游服务器接收 JSON 响应以进行修改。
JSON 可以具有以下格式
{"data":[["Some_text","boolean",["key_string1","key_string2"]]]}
或者它也可以显示为
{"data":[["Some_text","boolean","key_string2"]]}
或者它可以显示为两者的组合。
{"data":[["Some_text","boolean",["key_string1","key_string2"]],["Some_text","boolean","key_string2"]]}
如果它们不混合,我可以单独为每种格式定义 READS。但是,鉴于数据可能是混合格式,我无法理解应该如何编写读取,以便在转换之前检查底层类型是字符串还是数组?
是否可以说类似
(
(JsPath)(0).read[String] and
(JsPath)(1).read[Boolean] and
(JsPath)(2).read( **if type is simple, String OR if type is array, then seq** )
)(SomeGloriousCaseClass)
我该如何解决这个反序列化问题?