java - Azure Java SDK,磁盘对象用json中的一半信息序列化
问题描述
我正在使用 azure java sdk 从我的 azure 帐户中收集资产。我想以 json 格式存储信息,稍后我想在需要时将 json 转换回原始对象。但是,当我将对象序列化为 json 时,它并没有写入所有属性。例如,我将 Disk 对象收集为
PagedList<Disk> diskPagedList =azure.disks().list();
for(Disk disk: diskPagedList)
{
String json = JsonSerializer.writeValueAsString(disk);
//SaveToDatabase(json);
}
每个磁盘返回的 json 看起来像
{"attachedToVirtualMachine":false,"inCreateMode":false,"hot":false}
除了以上三个之外,它没有任何字段。我也尝试过使用disk.inner(),它提供了更多属性,但这些属性也是有限的。
有没有办法将这个完整的对象转换成 json?
解决方案
除了以上三个之外,它没有任何字段。我也尝试过使用 disk.inner(),它提供了更多属性,但这些属性也是有限的。
其实磁盘就是一个接口。正如您所提到的,您可以尝试使用 disk.inner 来获取磁盘属性。
如果也有限制。我建议您创建一个自定义类来添加您想要的其他属性
public class DiskData {
public DiskInner DiskInner;
public String Otherproperty;// you want to store
public String Anotherproperty;// you want to store
...
}
以下是演示代码。
DiskData diskData = new DiskData();
for (Disk disk:diskPagedList)
{
diskData.DiskInner = disk.inner();
diskData.Otherproperty= disk.regionName();
...
String json = objectMapper.writeValueAsString(diskData);
}
推荐阅读
- batch-file - 用于读取输入文本文件并构建输出命令的批处理脚本
- asp.net - 尝试从 Web 项目创建文件时出现文件夹访问被拒绝错误
- css - 角度材料垂直步进器分离标签和内容部分
- node.js - SyntaxError: Unexpected identifier > let articleGuids = {};
- c++ - IF 语句不通过
- ubuntu - Ubuntu 18.04 - 防火墙
- php - 如何在woocommerce中的子类别存档中显示父类别的产品?
- javascript - 当 Provider 重新渲染时,Consumer 重新渲染
- sql-server-2017 - Sql server 数据库存储过程查询
- django - Django 邮件无法将邮件发送到 icloud 邮件 ID