2015-07-24 8 views
0

J'ai une chaîne JSON complexe et j'essaye de l'analyser en utilisant AutoBean.AutoBean complexe JSON parse

La JSON chaîne ressemble:

`{ 
"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 
    } 
    ] 
    ] 
} 
}` 

J'ai créé cette interface

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(); 
} 

Comment puis-je le faire fonctionner? Et comment ajouter X et Y au tableau geomtry j'ai trouvé quelques exemples comme l'ajout de X et Y lors de l'analyse de la fève:

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

mais mon application doit mettre en œuvre l'analyse syntaxique Générique.Nous. Merci à l'avance.

Répondre

1

Votre BrancheAutoBean sont soit mal nommée ou manque @PropertyName annotations: résultat devrait être état et geometryModel devrait être résultat.

Ensuite, votre GeometryModelgetGeometry doit être un List<List<Geometry>>. Je ne suis pas sûr que cela soit supporté par AutoBean.