2015-05-06 2 views
0

У меня есть JSON, как этотКак игнорировать обруч элемент при синтаксическом анализе JSON в DTO

{ 
"135": { 
    "id": "135", 
    "name": "My Awesome Washing Machine!", 
    "powerswitch": { 
    "available": "true", 
    "state": "on", 
    "reachable": "true", 
    "locked": "false" 
    }, 
    "reference": { 
    "id": "4", 
    "name": "Lave-linge", 
    "category_id":"2" 
} 
}, 
"491": { 
    "id": "491", 
    "name": "My Fridge", 
    "powerswitch": { 
    "available": "true", 
    "state": "on", 
    "reachable": "false", 
    "locked": "false" 
    }, 
    "reference": { 
    "id": "1", 
    "name": "Réfrigérateur", 
    "category_id":"1" 
    } 
} 
} 

А вот мой DTO:

public class Device { 
    private String id; 
    private String name; 
    private DevicePowerswitch powerswitch; 
    private DeviceReference reference; 
    //getter, setter 
} 

Вопрос заключается в том, как я могу разобрать JSON в список устройства. Обратите внимание, что в этом выше json есть оболочка нестатического идентификатора.

ответ

0

Вам нужно будет разобрать JSON в JsonNode, а затем перебрать их. Узлы, которые вы вытаскиваете в результате, затем могут быть сопоставлены с использованием экземпляров ObjectMapper to Device.

ObjectMapper mapper = new ObjectMapper(); 
final JsonNode jsonNode = mapper.readTree(JSON); 
for (JsonNode node : jsonNode) 
{ 
    final Device device = mapper.convertValue(node, 
               Device.class); 
    // do something with the device 
} 
+0

Да, это то, что мне нужно. Спасибо –

+0

@ Lep Пожалуйста, примите ответ, если он правильный; это помогает другим найти ответы. –

Смежные вопросы