我刚刚开始使用Jackson图书馆,但我不知道如何解析我的数据。有人可以帮忙吗?
这是我的json响应...
{"flag":"1",
"data":[{"categoty_id":"150","category_name":"Baby &Kids"},{"categoty_id":"151","category_name":"Books & Comics"},{"categoty_id":"152","category_name":"Collectibles & Antiques"},{"categoty_id":"153","category_name":"Electronics"} ...and so on
为了解析数据,我正在使用以下
try {
ArrayList<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new NameValuePair("store_id", "1"));
Log.e("Cat", "start querying...");
final String response = GetResponse.execPostScript("category.php?store_id=1");
Log.e("Cat",response);
JsonFactory jsonFactory = new JsonFactory();
JsonParser jsonParser = jsonFactory.createParser(response);
allCategory = new ObjectMapper().readValue(jsonParser, AllCategory.class);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
pD.dismiss();
}
我的ProJo课是生活跟随
package com.elsner.bean;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"flag",
"data"
})
public class AllCategory {
@JsonProperty("flag")
private String flag;
@JsonProperty("data")
private List<Category> data = new ArrayList<Category>();
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
/**
* No args constructor for use in serialization
*
*/
public AllCategory() {
}
/**
*
* @param flag
* @param data
*/
public AllCategory(String flag, List<Category> data) {
this.flag = flag;
this.data = data;
}
/**
*
* @return
* The flag
*/
@JsonProperty("flag")
public String getFlag() {
return flag;
}
/**
*
* @param flag
* The flag
*/
@JsonProperty("flag")
public void setFlag(String flag) {
this.flag = flag;
}
/**
*
* @return
* The data
*/
@JsonProperty("data")
public List<Category> getData() {
return data;
}
/**
*
* @param data
* The data
*/
@JsonProperty("data")
public void setData(List<Category> data) {
this.data = data;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
我正在跟踪运行时错误........
com.fasterxml.jackson.databind.JsonMappingException:无法从START_ARRAY令牌中反序列化com.elsner.bean.AllCategory的实例
但是我在解析数据时遇到错误。
ObjectMapper
类没有使用readValues()
方法readValue()
来代替。
用这个:
AllCategory[] allCategory = new ObjectMapper().readValue(jsonParser,AllCategory[].class);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句