封装成工具类

  1. <span style="font-family:Microsoft YaHei;">public static String toJsonByObject(Object obj){
  2. String jsonStr = null;
  3. try {
  4. jsonStr =  mapper.writeValueAsString(obj);
  5. } catch (IOException e) {
  6. // TODO Auto-generated catch block
  7. e.printStackTrace();
  8. }
  9. return jsonStr;
  10. }
  11. </span>
public static String toJsonByObject(Object obj){
String jsonStr = null;
try {
jsonStr = mapper.writeValueAsString(obj);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jsonStr;
}

================================================

如何把Java对象转化成json字符串并打印出来呢?

这里就用到了jackon的jar包,使用writeValuesAsString的方法就可以把对角转化成json字符串。

下面通过一个demo,来仔细体会下如何去转化!

1:先建一个javaBean。

[java] view
plain
 copy
  1. package com.sino.objectmapperdemo;
  2. public class BaseObject {
  3. private String userName;
  4. private String userCode;
  5. private double weight;
  6. private int height;
  7. private boolean sex;
  8. private String[] array;
  9. private BaseObject innerBaseObject;
  10. public String getUserName() {
  11. return userName;
  12. }
  13. public void setUserName(String userName) {
  14. this.userName = userName;
  15. }
  16. public String getUserCode() {
  17. return userCode;
  18. }
  19. public void setUserCode(String userCode) {
  20. this.userCode = userCode;
  21. }
  22. public double getWeight() {
  23. return weight;
  24. }
  25. public void setWeight(double weight) {
  26. this.weight = weight;
  27. }
  28. public int getHeight() {
  29. return height;
  30. }
  31. public void setHeight(int height) {
  32. this.height = height;
  33. }
  34. public boolean isSex() {
  35. return sex;
  36. }
  37. public void setSex(boolean sex) {
  38. this.sex = sex;
  39. }
  40. public String[] getArray() {
  41. return array;
  42. }
  43. public void setArray(String[] array) {
  44. this.array = array;
  45. }
  46. public BaseObject getInnerBaseObject(){
  47. return innerBaseObject;
  48. }
  49. public void setInnerBaseObject(BaseObject innerBaseObject){
  50. this.innerBaseObject = innerBaseObject;
  51. }
  52. }

2:在MainActivity中,对其进行赋值和转化操作,并打印出来。

[java] view
plain
 copy
  1. package com.sino.objectmapperdemo;
  2. import java.io.IOException;
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6. import org.codehaus.jackson.JsonGenerationException;
  7. import org.codehaus.jackson.map.JsonMappingException;
  8. import org.codehaus.jackson.map.ObjectMapper;
  9. import android.os.Bundle;
  10. import android.app.Activity;
  11. import android.view.Menu;
  12. /**
  13. * 使用jackon的ObjectMapper的writeValueAsString方法可以把java对象转化成json字符串
  14. * 输出的结果是:{"array":["80","90","95"],"height":170,"innerBaseObject":{"array":["65","68","75"],
  15. * "height":171,"innerBaseObject":null,"userCode":"2号","userName":"李四","weight":75.5,"sex":true},
  16. * "userCode":"1号","userName":"张三","weight":65.5,"sex":true}
  17. *
  18. */
  19. public class MainActivity extends Activity {
  20. @Override
  21. protected void onCreate(Bundle savedInstanceState) {
  22. super.onCreate(savedInstanceState);
  23. setContentView(R.layout.activity_main);
  24. try {
  25. ObjectMapper objectMapper = new ObjectMapper();
  26. //      ArrayList list = new ArrayList();
  27. //      Map<String,Object> map = new HashMap<String,Object>();
  28. BaseObject object1 = new BaseObject();
  29. object1.setUserName("张三");
  30. object1.setUserCode("1号");
  31. object1.setWeight(65.5);
  32. object1.setHeight(170);
  33. object1.setSex(true);
  34. String[] score={"80","90","95"};
  35. object1.setArray(score);
  36. BaseObject object2=new BaseObject();
  37. object2.setUserName("李四");
  38. object2.setUserCode("2号");
  39. object2.setWeight(75.5);
  40. object2.setHeight(171);
  41. object2.setSex(true);
  42. score=new String[3];
  43. score[0]="65";
  44. score[1]="68";
  45. score[2]="75";
  46. object2.setArray(score);
  47. //        object2成为object1的内部类
  48. object1.setInnerBaseObject(object2);
  49. //        list.add(object1);
  50. //        map.put("baseObject", list);
  51. //        把对象转化成json字符串
  52. String json = objectMapper.writeValueAsString(object1);
  53. System.out.println(json);
  54. } catch (JsonGenerationException e) {
  55. e.printStackTrace();
  56. } catch (JsonMappingException e) {
  57. e.printStackTrace();
  58. } catch (IOException e) {
  59. e.printStackTrace();
  60. }
  61. }
  62. }

writeValueAsString封装成工具类的更多相关文章

  1. android 仿ios 对话框已封装成工具类

    对话框 在android中是一种非经常见的交互提示用户的方式,可是非常多产品狗都叫我们这些做android的仿ios,搞的我们android程序猿非常苦逼,凭什么效果老是仿ios,有没有一点情怀,只是 ...

  2. .NET3.5中JSON用法以及封装JsonUtils工具类

    .NET3.5中JSON用法以及封装JsonUtils工具类  我们讲到JSON的简单使用,现在我们来研究如何进行封装微软提供的JSON基类,达到更加方便.简单.强大且重用性高的效果. 首先创建一个类 ...

  3. 封装JDBC工具类

    JDBC连接数据库基本的步骤是固定的,这样就可以考虑封装一个工具类来简化数据库操作. 封装时用到了Java中的properties配置文件,是以一种键值对的形式存在的,可以把连接数据库要动态的信息保存 ...

  4. 打印 Logger 日志时,需不需要再封装一下工具类?

    在开发过程中,打印日志是必不可少的,因为日志关乎于应用的问题排查.应用监控等.现在打印日志一般都是使用 slf4j,因为使用日志门面,有助于打印方式统一,即使后面更换日志框架,也非常方便.在 < ...

  5. MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. JAVA中封装JSONUtils工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  8. MySQL JDBC事务处理、封装JDBC工具类

    MySQL数据库学习笔记(十)----JDBC事务处理.封装JDBC工具类 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit. ...

  9. DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)

    DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类) 一.DAO模式简介 DAO即Data Access Object,数据访问接口.数据访问:故名思义就是与数据库打交道.夹在业务逻辑与数据 ...

随机推荐

  1. noj-1102-黑白图像

    1 //题目地址:http://acm.njupt.edu.cn/acmhome/problemdetail.do?method=showdetail&id=1102              ...

  2. Python基础篇 -- 字典

    字典 dict. 以 {} 表示, 每一项用逗号隔开, 内部元素用 key: value的形式来保存数据 例子: dict.{"JJ":"林俊杰"," ...

  3. Ubuntu下Hyperledger Fabric v0.6安装部署

    系统环境:虚拟机VMware Workstation中的Ubuntu 16.04LTS 1.环境准备 1.1安装Docker Docker安装命令: curl –fsSL https://get.do ...

  4. House of Spirit(fastbin)

    0x01 fastbin fastbin所包含chunk的大小为16 Bytes, 24 Bytes, 32 Bytes, … , 80 Bytes.当分配一块较小的内存(mem<=64 Byt ...

  5. word转HTML在layuiadmin中锚点调转问题

    前言: 在以前我们讲过把word转成HTML移植入自己的web项目使用:Word转html并移植到web项目 正文: 发现如果在layuiadmin框架中,页面里锚点跳转时会不正常(会跳转到新页面): ...

  6. UVa-12096-集合栈计算机

    这题的话,我们读入操作之后,首先对于空集就是初始化为空. 我们可以使用typedef 对于 set 重命名为Set,这样就可以直接用Set()的语法进行空集的初始化了. 这题主要是对于集合的处理,我们 ...

  7. (32)zabbix分布式监控proxy vs nodes

    概述 zabbix为IT基础设施提供有效和可用的分布式监控,zabbix提供了两种解决方案,分别为:proxy和nodes.proxy代替zabbix server在本地检索数据,然后提交给zabbi ...

  8. log4j日志输出到文件的配置

    1.Maven的dependency 2.log4j.properties的配置 3.Junit的Test类 4.web.xml的配置(非必要) 5.spring的db.config的配置(非必要) ...

  9. vue-music:歌词的其他功能

    由于歌词的播放需要歌曲播放,切换歌曲,歌曲的播放模式等等有关联,因此,需要在这几处处理相关问题 1.循环播放回不到开始位置 loop() { this.$refs.audio.currentTime ...

  10. Kali入门配置使用(一)

    一.Kali简介 1.1.相关连接 Kali百度百科:https://baike.baidu.com/item/Kali%20linux/8305689?fr=aladdin Kali wiki:ht ...