【发布时间】:2015-09-01 17:24:45
【问题描述】:
我有 Jersey 项目 glassfish 2.18,我正在尝试使用 Jackson 2.x 读取此文件夹 scr-main-sources 中的 JSON 文件 routes.txt。如何获取文本文档文件的 InputStream 以从中获取数据?
感谢您的帮助
代码:
FileReader fileReader = new FileReader("src/main/sources/routes.txt");
ObjectMapper mapper = new ObjectMapper();
Root readValue = mapper.readValue(fileReader, Root.class);
简单的 JSON:
[{
"route": 1,
"info": {
"stops": [{
"arrival_time": {"mon-fri": ["04:24","05:10","05:40"],
"sat": ["05:34","05:55","06:15"],
"son": ["07:00","08:00","05:40"]
},
"stops_name": "Tension Way"
}],
"direction": "Surrey Quays"
}
}]
根类:
package org.busTracker.serverSide.json;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Generated;
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;
@JsonInclude(JsonInclude.Include.NON_NULL)
@Generated("org.jsonschema2pojo")
@JsonPropertyOrder({
"route",
"info"
})
public class Root {
@JsonProperty("route")
private Integer route;
@JsonProperty("info")
private Info info;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
/**
*
* @return
* The route
*/
@JsonProperty("route")
public Integer getRoute() {
return route;
}
/**
*
* @param route
* The route
*/
@JsonProperty("route")
public void setRoute(Integer route) {
this.route = route;
}
/**
*
* @return
* The info
*/
@JsonProperty("info")
public Info getInfo() {
return info;
}
/**
*
* @param info
* The info
*/
@JsonProperty("info")
public void setInfo(Info info) {
this.info = info;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
【问题讨论】: