我有一个接收 JSON 的服务器,如下所示:
{ "foo": "bar", "bono": "bobo",
"result": { "some": ["complex", "JSON", "structure",...
}
除了“result”之外的所有东西都用于服务器,它将被转发给客户端(Worker --JSON--> Server --value of “result”--> Client)。因此,在用 aeson 解析这个东西时,我想将“结果”的值保留为字符串(或 Text 或诸如此类),这样我就可以将其转发给客户端而不用关心里面的内容。问题是“结果”可以是任何东西(数组、对象等)。所以如果我这样做
data RPCResult = RPCResult { foo :: Text, result :: Text }
aeson的decode
函数将返回Nothing
,因为“结果”不一定是 JSON 字符串...
我如何告诉 aeson 保持 JSON 对象的部分原样并把它们交给我,这样我就可以用它们做我想做的事了?