pom中添加如下两个库:
org.codehaus.jackson
jackson-core-asl
1.9.2
provided
com.alibaba
fastjson
1.2.7
provided
java bean的定义为:
package test.fastjson;
import java.util.HashMap;
import java.util.Map;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonProperty;
//简单地忽略掉从JSON(由于在应用中没有完全匹配的POJO)中获得的所有“多余的”属性
@JsonIgnoreProperties(ignoreUnknown = true)
public class ESMetaDataInfoIndex
{
//改变某个成员属性所使用的JSON名称
@JsonProperty("tableStrategy")
private String tableStrategy = null;
@JsonProperty("indexName")
private String indexName = null;
@JsonProperty("topic")
private String topic = null;
@JsonProperty("nameSpace")
private String nameSpace = null;
@JsonProperty("extendAttr")
private Map extendAttr = new HashMap();
@JsonProperty("type")
private String type = null;
@JsonProperty("ttl")
private int ttl = 0;
@JsonProperty("splitCol")
private String splitCol = null;
/**
**/
public String getTableStrategy()
{
return tableStrategy;
}
public void setTableStrategy(String tableStrategy)
{
this.tableStrategy = tableStrategy;
}
/**
**/
public String getIndexName()
{
return indexName;
}
public void setIndexName(String indexName)
{
this.indexName = indexName;
}
/**
**/
public String getTopic()
{
return topic;
}
public void setTopic(String topic)
{
this.topic = topic;
}
/**
**/
public String getNameSpace()
{
return nameSpace;
}
public void setNameSpace(String nameSpace)
{
this.nameSpace = nameSpace;
}
/**
**/
public Map getExtendAttr()
{
return extendAttr;
}
public void setExtendAttr(Map extendAttr)
{
this.extendAttr = extendAttr;
}
/**
**/
public String getType()
{
return type;
}
public void setType(String type)
{
this.type = type;
}
/**
**/
public int getTtl()
{
return ttl;
}
public void setTtl(int ttl)
{
this.ttl = ttl;
}
/**
**/
public String getSplitCol()
{
return splitCol;
}
public void setSplitCol(String splitCol)
{
this.splitCol = splitCol;
}
}
测试用例为:
ESMetaDataInfoIndex dataInfo = JSON.parseObject(json.toJSONString(),ESMetaDataInfoIndex .class);