Jackson-将对象转为Json字符串
1、引入jackson依赖
<properties>
<jackson.version>1.9.13</jackson.version>
</properties>
<dependencies>
<!-- json和bean之间相互转换 -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>${jackson.version}</version>
</dependency>
</dependencies>
2、具体使用步骤
①、创建org.codehaus.jackson.map,ObjectMapper对象
②、调用ObjectMapper的writerValueAsString 方法把Java对象或集合转为JSON字符串
3、Demo
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper; import java.io.IOException;
import java.util.Arrays;
import java.util.List; public class Customer {
private String name;
private String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Customer(String name, String id) {
super();
this.name = name;
this.id = id;
}
public String getCity(){
return "beijing";
}
@JsonIgnore
public String getBirthday(){
return "1980-12-12";
}
public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {
//1.导入jar包
//2.创建objectmappter对象
ObjectMapper mapper=new ObjectMapper();
//3.调用mapper的writeValueAsString()方法把一个对象或集合转为json字符串
Customer customer=new Customer("aaa", "333");
String jsonStr=mapper.writeValueAsString(customer);
System.out.println(jsonStr);
//4.注意:jackson使用getter方法来定位json对象的属性
//5.可以通过添加注解JsonIgnore忽略某一个getter定义的属性
List<Customer> customers=Arrays.asList(customer,new Customer("bb", "213"));
jsonStr=mapper.writeValueAsString(customers);
System.out.println(jsonStr);
}
}
控制台结果
{"name":"aaa","id":"333","city":"beijing"}
[{"name":"aaa","id":"333","city":"beijing"},{"name":"bb","id":"213","city":"beijing"}]
4、注意点
①、JackSon 根据getter 来定位Json 对象的属性,而不是字段
②、可以在类的getter方法上添加注解:
org.codehaus.jackson.annotate.JsonIgnore
在转为Json对象是以忽略该属性
Jackson-将对象转为Json字符串的更多相关文章
- java对象转为json字符串
1.使用fastjson开源json工具类库 2.java类未添加get()和set()方法,java对象初始化时,使用fastjson解析,得到的json字符串有时为空{} 3.Java对象转为js ...
- fastjson对象转为json字符串日期格式变为时间戳问题
今天尝试将map集合转为json对象时遇到一个问题.map中的value为日期格式如"2019-03-01",在使用JSONObject.toJSON(map).toString( ...
- Jackson将对象转换为json字符串时,设置默认的时间格式
maven需要的依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifac ...
- Jackson转换对象为json的时候报java.lang.stackoverflowerror
无论在将一个对象转为json字符串的时候采用何种算法,如果你的对象的属性的类型不是基本类型或对应的引用类型,转换应该都不会就此结束,那么有一种方式可以导致这种转换陷入无限循环:将某个对象的属性设为对象 ...
- 【JS对象、JSON字符串】之间的相互转换
在Firefox,chrome,opera,safari,ie9,ie8等浏览器直接可以用JSON对象的stringify()和parse()方法. 1.JSON.stringify(obj)将JS对 ...
- Json对象和Json字符串之间的转换
json字符串转json对象,调用parse方法: var b='{"name":"2323","sex":"afasdf&quo ...
- Js数据类型、Json格式、Json对象、Json字符串
数据类型,从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词. 第二种类型是se ...
- fastjson,对象转json字符串的过程中对value为null的值的一些处理
前言 fastjson是一个非常好用的java库,用于操作对象json序列化等等. 问题 最近在写代码的时候遇到问题,通过JSON.toJSONString方法将一个实体对象转为json字符串,转出来 ...
- JackSon将java对象转换为JSON字符串
JackSon可以将java对象转换为JSON字符串,步骤如下: 1.导入JackSon 的jar包 2.创建ObjectMapper对象 3.使用ObjectMapper对象的writeValueA ...
随机推荐
- iTunes文件共享
在Info.plist文件中添加UIFileSharingEnabled键,并将键值设置为YES.将您希望共享的文件放在应用程序的Documents目录.
- 十大Java人物
James Gosling : Java之父文/陶文 作 为Java之父,James Gosling的名字可谓是耳熟能详.当人们评论一种编程语言时,总喜欢捎带着把下蛋的母鸡一起带上.Java做为中国的 ...
- 要会的123个Python工具!
本文中列举了123个Python渗透测试工具,当然不仅于渗透~ Network 调试和逆向工程 模糊测试 Web 取证 Volatility: 从 RAM 中提取数据 Rekall: Google 开 ...
- Linux Change The I/O Scheduler For A Hard Disk
ow do I change the I/O scheduler for a particular hard disk without rebooting my Linux server system ...
- PyCharm中按住Alt键,可以选择一个指定列表,然后对这个数列进行操作,比如删除,增加等等
- PHP封装验证类
<?php /** * Created by PhpStorm. * User: jiqing * Date: 18-7-24 * Time: 下午4:36 * 常用验证 */ class Va ...
- Cassandra学习五 使用Key的正确姿势
NoSQL一般是反范式的,比如提倡数据冗余,使得不至于写出非常复杂的SQL语句. Cassandra之中一共包含下面5中Key: Primary Key: 用来获取某一行的数据,可以是一列或多列 ...
- Dynamics CRM 2011 WebResources
Type Limitation Capabilities Usage Images JPG, PNG, GIF, ICO Custom entity icons Icons for custom ...
- windows右键打开方式里面添加新的应用程序
1.打开注册表编辑器.打开运行窗口,快捷键,开始+R.输入“regedit”,回车确定. 2.进入注册表编辑器的HKEY_CLASSES_ROOT文件夹下的*子文件夹下的shell文件夹. 3.右键s ...
- Python之模拟职场人生游戏
题目:模拟人生 要求:1.至少有两个角色 2.玩的过程中,有冲突 3.根据不同的交互,产生不同的行为. 4.一定要用到面向对象语法和思想 1.解题思路 创建一个类,赋予角色不同的方法,使用面向对象思想 ...