您的位置:首页 > Web前端 > JavaScript

使用 jackson 解析 json 演示样例

2016-04-23 17:43 831 查看
首先须要下载3个包,下载地址在Github FasterXML,这三个核心模块各自是:

Streaming ("jackson-core") defines low-level streaming API, and includes JSON-specific implementations
Annotations ("jackson-annotations") contains standard Jackson annotations
Databind ("jackson-databind") implements data-binding (and object serialization) support on streaming package;
it depends both on streaming and annotations packages。

json文件:

<span style="font-family:SimHei;font-size:18px;">{
"name":" vonzhou",
"age":123,
"isMan":true
}</span>


[align=left]POJO类:[/align]

<span style="font-family:SimHei;font-size:18px;">package jackson.test;

import java.util.HashMap;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonProperty;

public class ExamplePOJO {
@JsonProperty( "name")
private String name;

@JsonProperty( "age")
private Integer age;

@JsonProperty( "isMan")
private Boolean isMan;

private Map<String,Object> additionalProperties = new
HashMap<String, Object>();

@JsonProperty( "name")
public String getName() {
return name;
}
@JsonProperty( "name")
public void setName(String name) {
this. name = name;
}
@JsonProperty( "age")
public Integer getAge() {
return age;
}
@JsonProperty( "age")
public void setAge(Integer age) {
this. age = age;
}
@JsonProperty( "isMan")
public Boolean getIsMan() {
return isMan;
}
@JsonProperty( "isMan")
public void setIsMan(Boolean isMan) {
this. isMan = isMan;
}

public Map<String, Object> getAdditionalProperties() {
return additionalProperties;
}

public void setAdditionalProperties(String name, Object obj) {
this. additionalProperties.put(name, obj);
}

@Override
public String toString() {
return "ExamplePOJO{\n" +
"name :'" + name + "',\n" +
"age : " + age + ",\n" +
"isMan :" + isMan + ",\n" +
"additionalProperties : " + additionalProperties +
"\n}";
}

}

</span>


[align=left]解析json文件的类:[/align]
<span style="font-family:SimHei;font-size:18px;">package jackson.test;

import java.io.File;
import java.io.IOException;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class Driver {
public static void main(String[] args) {
ObjectMapper mapper = new ObjectMapper();
try {
ExamplePOJO bean = mapper.readValue(new File("test.json"),
ExamplePOJO.class);
System.out.println("name : " + bean.getName());
System.out.println("age : " + bean.getAge() );
System.out.println("isMan : " + bean.getIsMan() );
System.out.println("===================");
System.out.println(bean.toString());
} catch (JsonParseException e) {
e.printStackTrace();
}catch (JsonMappingException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
}
}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: