2015-07-24 2 views
0

У меня есть сложная строка JSON, и я пытаюсь разобрать ее с помощью AutoBean.AutoBean complex JSON parse

JSON строка выглядит следующим образом:

`{ 
"status": "OK", 
"result": { 
    "geometry": [ 
    [ 
    { 
    "X": 268347.4, 
    "Y": 6743983.1 
    }, 
    { 
    "X": 268341.1, 
    "Y": 6743989.7 
    } 
    ], 
    [ 
    { 
    "X": 268378.15, 
    "Y": 6743972.7 
    }, 
    { 
    "X": 268347.4, 
    "Y": 6743983.1 
    } 
    ] 
    ] 
} 
}` 

Я создал этот интерфейс

public interface BrancheAutoBean { 

    String getResult(); 
    GeometryModel getGeometryModel() 
} 

public interface GeometryModel { 
    @PropertyName("geometry") 
    List<Geometry> getGeometry(); 
} 

public interface Geometry{ 

    @PropertyName("X") 
    Double getX(); 

    @PropertyName("Y") 
    Double getY(); 
} 

Как я могу заставить его работать? А как добавить X и Y массив в geomtry я нашел пример как добавление X и Y при разборе боба:

Geometry bean =AutoBeanCodex.decode(factory, GeometryModel.class, "{\"Geometry\": " + strResponse + "}").as(); 

но мое приложение должно реализовать générique разбора. thanx в развитии.

ответ

1

Ваш BrancheAutoBean либо неверно названы или отсутствуют @PropertyName аннотаций: результат должен быть статус и geometryModel должен быть результат.

Тогда GeometryModelgetGeometry должен быть List<List<Geometry>>. Я не уверен, что это поддерживается AutoBean.