我有一个json字符串,看起来像这样:
{
\"request\": {
\"requestId\": \"dd92f43ec593d2d8db94193b7509f5cd\",
\"notificationType\": \"EntityAttribute\",
\"notificationSource\": \"ODS\"
},
\"entityattribute\": {
\"entityId\": \"123\",
\"attributeType\": \"DATE_OF_BIRTH\"
}
}
我想反序列化实体的属性:
public class EntityAttributeNotification {
private String attributeType;
private String entityId;
}
一种方法是首先使用json路径(例如,entityattribute / entityId)提取EntityId和attributeType,然后创建一个对象EntityAttributeNotification。
我想知道是否有一种方法可以直接反序列化实体属性给EntityAttributeNotification。 我也尝试过使用JsonMixin注释,但这不适用于此处。
答案 0 :(得分:0)
通过以下方法,您可以提取嵌套的JSON的Parameters
和Values
。
const object1 ={
"request": {
"requestId": "dd92f43ec593d2d8db94193b7509f5cd",
"notificationType": "EntityAttribute",
"notificationSource": "ODS"
},
"entityattribute": {
"entityId": "123",
"attributeType": "DATE_OF_BIRTH"
}
};
var keys = [];
for (let [key, value] of Object.entries(object1)) {
if(typeof value == 'object'){
keys.push(key);
for (let [key1, value1] of Object.entries(value)) {
keys.push(key1);
}
}
else{
keys.push(key);
}
}
console.log(keys);