如果不考虑用任何annotation指定出现在json string里的属性名称的话,默认的逻辑是将getter方法里,“get”之后的字符串的首字母小写。

比如:

getJerDryContent()

提取出的属性名为jerDryContent.

getDiabloId()

提取成diabloId.

请看测试代码:

package jacksonTest;public class BrandName {// Jerry 2017-08-25 9:19PM: after I change id to id2, the deserialization from string
// to object can still work, which proves that the conversion is not done
// based on ATTRIBUTE NAMEprivate Integer id2; private String content5;public Integer getDiabloId() {return id2;}public BrandName(Integer id3, String content3){this.id2 = id3;this.content5 = content3;}
// Exception in thread "main" com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "id" (class jacksonTest.BrandName), not marked as ignorable (2 known properties: , "pp", "content"])//    public void setPP(Integer id) {public void setJerry2Id(Integer id4){this.id2 = id4;}public String getJerDryContent() {return content5;}public void setTomcontent(String name) {this.content5 = name;}@Overridepublic String toString() {return "BrandName [id4=" + id2 + ", content4=" + content5 + "]";}
}

package jacksonTest;import java.io.IOException;import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;public class JacksonTest {@SuppressWarnings("unused")private static void string2Object() throws JsonParseException, JsonMappingException, IOException{ObjectMapper objectMapper = new ObjectMapper();String DATA = "{\r\n" + "  \"id\": 123,\r\n" + "  \"name\": \"The Best Product\",\r\n" + "  \"brand\": {\r\n" + "     \"id\": 234,\r\n" + "     \"content\": \"ACME Products\"\r\n" + "  }\r\n" + "}";ProductTest productTest = objectMapper.readValue(DATA, ProductTest.class);System.out.println(productTest.toString());}private static void object2String() throws JsonProcessingException{BrandName b = new BrandName(11, "sap");ProductTest p = new ProductTest(12, "Jerry", b);ObjectMapper mapper = new ObjectMapper();String jsonInString = mapper.writeValueAsString(p);System.out.println("JSON: " + jsonInString);}public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {// string2Object();object2String();}}

package jacksonTest;import com.fasterxml.jackson.annotation.JsonProperty;public class ProductTest {private int productId;private String productName;private BrandName brandName;public ProductTest(int id, String Name, BrandName brandName){this.productId = id;this.productName = Name;this.brandName = brandName;}@JsonProperty("id") // this should match the attribute in JSON filepublic int getProductId() {return productId;}public void setProductId(int productId) {this.productId = productId;}@JsonProperty("name")public String getProductName() {return productName;}public void setProductName(String productName) {this.productName = productName;}@JsonProperty("brand")public BrandName getBrandName() {return brandName;}public void setBrandName(BrandName brandName) {this.brandName = brandName;}@Overridepublic String toString() {return "ProductTest [productId=" + productId + ", productName=" + productName + ", brandName=" + brandName+ "]";}
}

输出结果:

JSON: {“id”:12,“name”:“Jerry”,“brand”:{“diabloId”:11,“jerDryContent”:“sap”}}

com.fasterxml.jackson将对象序列化成json时,出现在json里的属性名称是怎么来的相关推荐

  1. java 序列化成xml文件_将Java对象序列化成JSON和XML格式

    1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...

  2. Java对象序列化乱码6_对象序列化成字符串乱码解决

    问题描述: 将一个对象序列化成字符串后,字符串是乱码的,并且反序列化报错. 代码如下: import com.alibaba.fastjson.JSONObject; import org.sprin ...

  3. 将Java对象序列化成XML格式,将XML反序列化还原为Java对象

    摘要:将Java对象序列化成XML格式,将XML反序列化还原为Java对象. 一:创建Maven工程,引入xstream依赖: <!--xstream--><dependency&g ...

  4. ISerializable与BinaryFormatter配合,实现将对象序列化成stream,可以保存或网络传输与反序列化

    C#中ISerializable与BinaryFormatter配合,可以实现将对象序列化成stream,进而可以保存或网络传输以及进行反序列化. (注意: 这是一个年代久远了的知识点!) 以下是网上 ...

  5. 对象序列化成JSON格式

    json是一种轻量级的数据交换语言,将对象序列化为json格式,可以在网络上传输,且各个平台都有成熟的工具,可以很快的将json反序列化为对应语言所需要的格式. 将java对象序列化为json格式关键 ...

  6. C#将对象序列化成JSON字符串

    using System.Web.Script.Serialization; public void ProcessRequest(HttpContext context) { context.Res ...

  7. XmlSerializer 对象序列化成XML 自定义编码格式(gb2312)

    随着面向服务(SOA)的开发方式的兴起,客户端和服务端之间的消息传送,很多采用了XML的格式.但是大家在日常的开发中,应该会有这么种体验,就是组织xml格式的代码太繁琐,这篇随笔也是为了和大家分享下简 ...

  8. 将python对象序列化成php能读取的格式(即能反序列化到对象)

    转载自:http://my.oschina.net/zuoan001/blog/94914 代码如下: #coding:utf-8 # vim: encoding=utf-8:ft=python:et ...

  9. 关于DateTime对象序列化为Json之后的若干问题

    将Datetime对象序列化成Json对象是常有的事情,微软的序列化方法会将Datetime对象序列化成一个字符串: "\/Date(1234656000000)\/" 这样的字符 ...

最新文章

  1. Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
  2. linux 进程等待 wait 、 waitpid
  3. SQL Server 2005 镜像构建说明(转载)
  4. [20161208]等待事件enq: HW - contention
  5. python进程数上限_python – 使用具有最大同时进程数的multipr...
  6. Code Complete
  7. php get header url,php函数get_headers是HEAD请求还是GET请求
  8. UE4导入字体 ttf
  9. 无人驾驶技术——雷达Clutter, CFAR,AoA
  10. 音乐标签修改 android,音乐标签Android版
  11. 初识Linux与运维
  12. 稳定的服务器主板,高稳定英特尔S2400SC2双路服务器主板
  13. B-S架构和C-S架构区别
  14. 程序员跳槽时,如何高效地准备面试
  15. Moore Voting
  16. FPGA第三节:IP调用实现HDMI输出
  17. Jupyter notebook 创建新笔记本出错
  18. 推荐1款免费在线OCR文字识别服务,识别特别准确!
  19. 计算机学院文化节主题,计算机学院第八届电脑文化节策划精选.doc
  20. 说话技巧,,言多必失

热门文章

  1. 【插件开发】—— 13 GEF双击模型事件
  2. 跨域iframe的高度自适应
  3. 【转】正则基础之——捕获组(capture group)
  4. [HNOI2017]单旋
  5. asp.net core 集成 log4net 日志框架
  6. 将图片序列化和反序列化
  7. 数字滤波常用方法(转)
  8. linux 编译 freescale arm 的gdb server
  9. LINQ to SQL语句(7)之Exists/In/Any/All/Contains
  10. MVVM Template