我在Eclipse中使用Jackson& gson解析构建了一个restfulwebservice。
如果我输入的Json文本的起始字母很小,即
{
"fields":"value"
}
它将返回一个响应消息,如
{
"fields":"value"
}
但是如果我的json文本以大写字母开头
{
"Ord_Num":"value"
}
它返回{},即null。(我使用了@JsonProperty(“Ord_Num”)字符串ordnum)
请在下面找到我的gson解析器和输入解析器文件。
@Path("/hello")
public class Hello {
@GET
@Path("/response")
@Consumes(MediaType.APPLICATION_JSON)
public static Response getSampleResponse() {
return Response.status(200).build();
}
@POST
@Path("/send")
public static Response postSampleResponse(SamplePojo sp) {
Gson gson = new Gson();
gson.toJson(sp);
return Response.status(201).type(MediaType.APPLICATION_JSON)
.entity(gson.toJson(sp)).build();
}
}
Sampplepojo.java:
public class SamplePojo {
@JsonProperty("Ord_Num") String ordnum;
public String getOrdnum() {
return ordnum;
}
public void setOrdnum(String field) {
this.ordnum = field;
}
}
1条答案
按热度按时间wribegjk1#
JSON标准规定:
文字名称必须是小写。不允许使用其他文字名称。
这就是为什么如果尝试使用大写字母,会得到一个空的JSON对象。
请参阅JSON的RFC:https://www.rfc-editor.org/rfc/rfc4627