封装成工具类

  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. POJ 3133 Manhattan Wiring (插头DP,轮廓线,经典)

    题意:给一个n*m的矩阵,每个格子中有1个数,可能是0或2或3,出现2的格子数为2个,出现3的格子数为2个,要求将两个2相连,两个3相连,求不交叉的最短路(起终点只算0.5长,其他算1). 思路: 这 ...

  2. Higher level thinking

    「Higher level thinking」-- 出自 Ray Dalio 的<Principles>(PDF 原文:Principles by Ray Dalio) Higher le ...

  3. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 长时间没连接mysql断开了, ...

  4. this+call、apply、bind的区别与使用

    http://www.ruanyifeng.com/blog/2018/06/javascript-this.html https://segmentfault.com/a/1190000018017 ...

  5. PAT (Advanced Level) Practise - 1096. Consecutive Factors (20)

    http://www.patest.cn/contests/pat-a-practise/1096 Among all the factors of a positive integer N, the ...

  6. PHP 腾讯云cos使用之我见

    因为某些人的原因,本文从新改名发布一遍. 原名称:tp5 -- 腾讯云cos简单使用 原文链接:https://www.cnblogs.com/YFYQ/p/10840050.html 因项目需要,本 ...

  7. makeObjectsPerformSelector用法

    亲测 makeObjectsPerformSelector 的用法. - (void)makeObjectsPerformSelector:(SEL)aSelector NS_SWIFT_UNAVAI ...

  8. React中 checkbox 与 label 标签的搭配

    用<label>标签替代checkbox的点击样子,点击<label>实际上就是点击checkbox checkbox的checked值会跟着一起变 <input typ ...

  9. web资源持续更新----20150213

    响应式设计创意收集网站:http://mediaqueri.es css禅意花园 http://www.csszengarden.com/

  10. Linux运维发展与学习路线图

    记录一下Linux所要懂的知识体系,方便未来学习的时候自我验证. Linux运维课程体系大纲: Linux入门 了解Linux基础,知道什么是Linux,会安装Linux,使用相关基础命令,如:cd, ...