我在aws dynamoDB中有json数据,其中有一个嵌套json的字段。我想在Java HashMap中获得嵌套的json。为此,我在实现DynamoDBTypeConverter的类中编写了一个自定义转换器。
这是我的JSON数据 -
{
"id": "1234",
"payment": {
"payment_id": "2345",
"user_defined": {
"some_id": "3456"
}
}
}
我想将user_defined
映射到Java HasMap。
这是我的转换器类 -
public class HashMapConverter implements DynamoDBTypeConverter<String, customHashMap<String, Object>> {
@Override
public String convert(customHashMap<String, Object> hashMap) {
System.out.println("userDefined is " + hashMap);
System.out.println("Converting userDefined to string");
return "Akshansh";
//return new Gson().toJson(hashMap);
}
@Override
public customHashMap<String, Object> unconvert(String jsonString) {
System.out.println("jsonString received for unconverting is " + jsonString);
System.out.println("Unconverting attribute");
return new Gson().fromJson(jsonString, new TypeToken<customHashMap<String, Object>>(){}.getType());
}
}
我的问题是,在上述转换器的unconvert
方法中,即使我的数据明确包含user_defined
字段中的信息,我也会收到空字符串。
任何有关此问题的帮助将不胜感激。谢谢!
答案 0 :(得分:0)
我做了类似的事情,将字段类型作为'data.frame': 8 obs. of 5 variables:
$ id: num 6 7 12 14 1 3 4 4
$ a : num 0 1 13 1 3 4 5 6
$ b : chr "1" "4" "12" "3" ...
$ c : chr "0" "0" "13" "3" ...
$ d : num NA NA NA NA NA NA NA NA
。
Object