java - 如何从 JavaObjects 的 ArrayList 创建具有自定义结构的 JSON 文件
问题描述
我有一个为 AWS DynamoDB 注释的对象的 ArrayList。
ArraList<LanguageItem> languageItem = new ArrayList<LanguageItem>();
如何将此 ArrayList 对象转换为自定义结构化 JSON 文件?
型号类:
@DynamoDBTable(tableName = "Language-Data")
public class LanguageItem {
private String LANGUAGE;
private String SK;
private String COMPONENT_NAME;
private String KEY;
private String VALUE;
public LanguageItem() {
}
public LanguageItem(String language, String sk, String component_name, String key, String value) {
LANGUAGE = language;
SK = sk;
COMPONENT_NAME = component_name;
KEY = key;
VALUE = value;
}
@DynamoDBHashKey(attributeName = "LANGUAGE")
public String getLANGUAGE() {
return LANGUAGE;
}
@DynamoDBRangeKey(attributeName = "SK")
public String getSK() {
return SK;
}
@DynamoDBAttribute(attributeName = "COMPONENT_NAME")
public String getCOMPONENT_NAME() {
return this.COMPONENT_NAME;
}
@DynamoDBAttribute(attributeName = "KEY")
public String getKEY() {
return KEY;
}
@DynamoDBAttribute(attributeName = "VALUE")
public String getVALUE() {
return VALUE;
}
// remaining getters and setters
}
所需的 JSON 结构:
{
"lang": "en",//this can be set without using the data from the ArrayList.
"data": {
"languageItem.COMPONENT_NAME": {
"languageItem.key": "languageItem.value",
"languageItem.key": "languageItem.value",
"languageItem.key": "languageItem.value"
},
"languageItem.COMPONENT_NAME": {
"languageItem.key": "languageItem.value",
"languageItem.key": "languageItem.value",
"languageItem.key": "languageItem.value"
},
..........
}
}
遍历 ArrayList 时,每个对象都有一个 COMPONENT_NAME。因此,名称将键设置为 COMPONENT_NAME,值将是另一个键值对的列表,其值 KEY 和 VALUE 具有共同的 COMPONET_NAME。
例如:所有组件名称为“A”的键、值数据将如下所示:
"A" : {
"K1":"v1",
"K2":"v2",
....
},
......
解决方案
推荐阅读
- spring-boot - 带有 spring boot 石英调度器的控制器 - 集成测试
- drupal-8 - 防止匿名用户访问组页面drupal 8?
- flutter - 了解 Flutter + Material 应用程序中使用的默认样式
- android - 如何在颤动列表视图中显示以前的流内容和当前内容?
- java - 无效的 XPath 查询 - 在 Java 上使用 jcabi
- python - 使用 FiPy 求解椭圆 PDE
- api - 如何将 AllenNLP 模型连接到 Microsoft Web Chat 或 Microsoft Bot Framework
- node.js - 找不到 build/index.ts
- javascript - ReactNative:如何在圆圈中居中
- c# - 嵌套 List 属性的 ThenInclude() 数据被忽略