import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.tgw360.common.json.JSONUtils;
import com.tgw360.entity.push.LiveMsgPush;
import org.springframework.cloud.cloudfoundry.com.fasterxml.jackson.annotation.JsonProperty;
import org.springframework.cloud.cloudfoundry.com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.cloud.cloudfoundry.com.fasterxml.jackson.databind.SerializationFeature;
import java.io.IOException;
public class MyTestMain {
public static void main(String[] args) {
try{
String jsonStr = "{\"IsAudit\":0,\"IsPublic\":1,\"MsgContent\":{\"Content\":\"rgsdfg\",\"ExContent\":[],\"MessageID\":7371,\"MessageType\":1,\"PublishType\":1,\"PublisherHeadAddress\":\"/src/image/chat/img/2018125141747143.jpg\",\"PublisherID\":13743,\"PublisherName\":\"张三\",\"SendTime\":20190220093755,\"TopicID\":7230,\"isReply\":0},\"ServiceHeadAddress\":\"/src/image/chat/img/2018125141747143.jpg\",\"ServiceID\":13743,\"ServiceName\":\"张三\",\"TopicID\":7230,\"UserType\":2,\"isExpiredVip\":0,\"isOpenVip\":0,\"isReply\":0,\"onlyVipShow\":0,\"publishHeadAddress\":\"/src/image/chat/img/2018125141747143.jpg\",\"publishUserID\":13743,\"publishUserName\":\"张三\",\"toUserId\":0,\"type\":5,\"vipLevel\":0}";
ObjectMapper objectMapper = new ObjectMapper();
LiveMsgPush message = objectMapper.readValue(jsonStr, LiveMsgPush.class);
System.out.println(JSONUtils.toJSONString(message));
}catch(Exception e){
e.printStackTrace();
public static void fun(){
ObjectMapper mapper = new ObjectMapper();
String jsonString = "{\"Name\":\"Mahesh\", \"age\":21}";
try {
Student student = mapper.readValue(jsonString, Student.class);
System.out.println(student);
mapper.enable(SerializationFeature.INDENT_OUTPUT);
jsonString = mapper.writeValueAsString(student);
System.out.println(jsonString);
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
class Student {
@JsonProperty(value = "Name")
private String Name;
private int age;
public Student(){}
public String getName() {
return Name;
public void setName(String name) {
this.Name = name;
public int getAge() {
return age;
public void setAge(int age) {
this.age = age;
Jackson-Json串首字母大写无法识别package com.tgw360;import com.fasterxml.jackson.core.JsonParseException;import com.fasterxml.jackson.databind.JsonMappingException;import com.tgw360.common.json.JSONUtils;i...
赠送jar包:
jackson-jaxrs-
json-provider-2.7.8.jar;
赠送原API文档:
jackson-jaxrs-
json-provider-2.7.8-
javadoc.jar;
赠送源代码:
jackson-jaxrs-
json-provider-2.7.8-sources.jar;
赠送Maven依赖信息文件:
jackson-jaxrs-
json-provider-2.7.8.pom;
包含翻译后的API文档:
jackson-jaxrs-
json-provider-2.7.8-
javadoc-API文档-中文(简体)版.zip;
Maven坐标:com.fasterxml.
jackson.jaxrs:
jackson-jaxrs-
json-provider:2.7.8;
标签:fasterxml、
jackson、jaxrs、
json、provider、中文文档、jar包、
java;
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。
人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
面对不遵守驼峰命名规则的接口,比如属行
首字母用
大写,这样导致使用
Jackson解析出来的对象的属性均为空,经过跟踪源码发现,是由于其根据getters方法解析的属性,属性字母都变为了小写,这就导致
无法解析了出现了
jackson Unrecognized field 的问题。
@Data
public class JobType {
private int jobType;
今天在测试
jackson解析
json串时,发现如果
json串中,Key的值为
大写的话,那么解析就会报错,这里给大家复现一下以及提供一种解决方案:
首先,我们建立一个实体类:这里简单定义了name,sex,age三个属性,以及get set tostring方法。
public class Student {
private String name;
private String sex;
最近在项目中调用.NET的服务时,Jackson在解析返回的json字符串时始终报错,纠结很久之后才找到原因,原来是是由于json字符串中的字母都是首字母大写,导致jackson找不到相应的KEY。
解决方法有两种:
直接将bean对象中的属性改为public,属性名命名为首字母大写,比如{"Name":"nomouse","Age":12},定义相应的bean为:
pu...
json首字母大小写转换
json在转换过程中遇到
首字母大写的字段,可能会
无法识别,出现“null”的情况,可以用以下办法解决:方法一
json在转换过程中遇到
首字母大写的字段,可能会
无法识别,出现“null”的情况,可以用以下办法解决:
在实体的get,set方法上加@
JSONField(name="**")注解,get里小写,set里
大写,即
@
JSONField(name=“test”)
public String getTest(){
@
JSONField(name=“Test”)
一般JavaBean属性以小写字母开头,驼峰命名格式,相应的 getter/setter 方法是 get/set 接上首字母大写的属性名。例如:属性名为userName,其对应的getter/setter 方法是 getUserName/setUserName。
但是,还有一些特殊情况:
1、如果属性名的第二个字母大写,那么该属性名直接用作 getter/setter 方法中 get/set
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(Feature.IGNORE_UNKNOWN,true);
objectMapper.configure(Feature.WRITE_BIGDECIMAL_AS_PLAIN,true);
objectMapper.configure(
JsonPa...
忽略字段的首字母大小写,将json字符串转成javabean对象,解决Java对象中属性中首字母大写而取不到值(取到的值为空)的问题
忽略字段的首字母大小写,将json字符串转成List,解决Java对象中属性中首字母大写而取不到值(取到的值为空)的问题
本文当可以直接用记事本打开
一、近来项目调第三方接口,接口返回的json格式数据首字母大写,通过json解析无法获取对应key的值,值全为null.
二、解决方法:自定义jsonCofig的setJavaIdentifierTransformer的值。重写相关方法
//将返回的建首字母转换为小写
JsonConfig config=new JsonConfig();
config.setJavaIdentifierTr...
错误堆栈信息如下:
org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "HPYS" (Class com.traffic.entity.BusBaseInfo), not marked as ignorable
at [Source: java.io.StringReader@76c5f
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>${curator.version}</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
<version>${curator.version}</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>${curator.version}</version>
</dependency>
curator.version = 2.10.0
[/code]