Есть ситуация: логически данные в json и xml ( из разных систем ) одинаковые, но могут находится в разных местах по иерархии (и там, и там), называться чуть по-разному и дублироваться. Пример
{
"data": {
"username": "foo",
"userpass": "bar"
}
}
<serverResponse>
<credentials>
<name>foo</name>
<password>bar</password>
</credentials>
<cypher>
<pass>bar</pass>
</cypher>
</serverResponse>
Суть примера - данные в полях "username" и "userpass" логически то же самое что находится в xml в "name" и "pass". При этом, password и pass будут одинаковые. Боевые xml и json которые нужно друг на друга "маппить", раз в 20 больше.
Посоветуйте библиотеку, или подход, для того чтобы универсализировать (уравнивать) такой разброс, создавая единую структуру в памяти приложухи, с иерархией или без.
Интересует:
- С возможностью составления словарей синонимов
- Уравнивать разные уровни иерархии
- Создавать однозначные привязки "исходный ключ" -> "mapped ключ", "mapped ключ-синоним" и т.д.
Могу "читать" варианты под языки python, java, php, но предпочтительнее реализация на php.