1

我正在使用带有 SpringAndroid 的 RoboSpice 来解析 JSON 数据。即使我设法获取了几乎所有 JSON 对象,我也无法在主 json 对象中检索 json 对象的内部数组列表。

这是要解析的结果 JSON 的结构:

{
  -Model[n]:
  -0:
     {
      name:"abcd"
      innerList[3]:
       {
         -0:
            {
             innerObject:
              {
               id:"10"
               .... 
              }
              .....
            }       
       }
     }
} 

当我访问innerObject 的POJO 中的数据成员时,出现空指针异常。

@JsonIgnoreProperties(ignoreUnknown = true)
public class Model{

 @JsonProperty("name")
 private String Name;

 @JsonProperty("innerList")
 private ArrayList<ClassInnerList> inner;

 //getters and setters
 }  

innerList 的 POJO:

 @JsonIgnoreProperties(ignoreUnknown = true)

 public class ClassInnerList
  {

   @JsonProperty("innerObject")
   ClassInnerObject innerObject;

   //getters and setters
   } 

内部对象的 POJO

@JsonIgnoreProperties(ignoreUnknown = true)

 public class ClassInnerObject{

  @JsonProperty("Id")
  String Id;

//getters and setters
   }

请求类如下

 public class GetDetailsRequest extends SpringAndroidSpiceRequest<Model> 
 {

   private String url;


     private Model Model;

      public GetDetailsRequest() {
      super(Model.class);

      this.url="my url"
      ...........

  }

@Override
  public Model loadDataFromNetwork() throws Exception {
    RestTemplate restTemplate=new RestTemplate();
    restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
    HttpHeaders httpHeaders=new HttpHeaders();
    httpHeaders.set("key","keyvalue");
    httpHeaders.setAccept(Collections.singletonList(new   MediaType("application","json)));
    HttpEntity<?> requestEntity = new HttpEntity<Object>(httpHeaders);
    ResponseEntity<Model> ResponseEntity=restTemplate.exchange(url, HttpMethod.GET,requestEntity,Model.class);
    Model=ResponseEntity.getBody();


    return Model;
}
}
4

0 回答 0