背景: 我在CloudantDB中存储了一个JSON文档(id:160d7237a5fd00501f4654a6c8b42f38),并对文档放置了一个附件。正如您所看到的,JSON结构下面有一个与之关联的附件(即Rajiv.jpg)。
我想检索JSON附件对象(JPEG)。有人可以帮助我如何将下面的JSON结构转换为Java POJO类并使用相同的方法检索附件吗? POJO类的定义是什么?提前谢谢。
我想通过网络服务在UI屏幕上显示JPEG文件,该网络服务将从CLoudantDB中检索JPEG并将其传递给UI。
{
"_id": "160d7237a5fd00501f4654a6c8b42f38",
"_rev": "3-695e52989827cd9e203ff9f506eaf7df",
"Customer_Id": "2",
"_attachments": {
"Rajiv.jpg": {
"content_type": "image/jpeg",
"revpos": 2,
"digest": "md5-/78IzjPUu7nkbVbSXBF2Xg==",
"length": 39712,
"stub": true
}
}
}
答案 0 :(得分:1)
您获得的JSON不包含实际附件 - 只包含有关它的元数据。
要检索附件,请向
https://$USERNAME.cloudant.com/$DATABASE/$DOCUMENT_ID/$ATTACHMENT
发出GET请求。回复的主体是附件的原始内容。
所以在这种情况下,听起来你要向https://[...].cloudant.com/[...]/160d7237a5fd00501f4654a6c8b42f38/Rajiv.jpg
关于响应是否实际上是带有Base64数据的JSON,或者仅仅是数据,文档似乎令人困惑 - 但试试看看。
您不需要POJO来解析问题中显示的原始数据;您使用的任何解析器都可能提供一个“动态”视图,允许您按名称获取字段:只需获取_attachments
字段,然后迭代生成的对象中的字段。