封装成工具类

  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. 洛谷 P3183 [HAOI2016]食物链

    题目描述 如图所示为某生态系统的食物网示意图,据图回答第1小题现在给你n个物种和m条能量流动关系,求其中的食物链条数.物种的名称为从1到n编号M条能量流动关系形如a1 b1a2 b2a3 b3.... ...

  2. Luogu P5327 [ZJOI2019]语言

    ZJOI2019Day2的温暖题,然后考场上只会大常数的\(O(n\log^3 n)\),就懒得写拿了60pts走人 首先我们简化题意,容易发现每个点能到达的点形成了一个联通块,我们只需要统计出这个联 ...

  3. glob - 形成路径名称

    描述 (DESCRIPTION) 很久以前 在 UNIX V6 版 中 有一个 程序 /etc/glob 用来 展开 通配符模板. 不久以后 它 成为 shell 内建功能. 现在 人们 开发了 类似 ...

  4. BOM函数之history对象

    前面的话 history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起.由于安全方面的考虑,开发人员无法得到用户浏览器的URL,但借由用户访问过的页面列表,可以在不知道实际URL的情况下实现后 ...

  5. Ukulele 那些花儿

  6. python私有成员与公有成员(_和__)

    python并没有对私有成员提供严格的访问保护机制. 在定义类的成员时,如果成员名以两个下划线“__”或更多下划线开头而不以两个或更多下划线结束则表示是私有成员. 私有成员在类的外部不能直接访问,需要 ...

  7. PHP调用新浪API 生成短链接

    我们经常收到类似于这样的短信(如下图),发现其中的链接并不是常规的网址链接,而是个短小精悍的短链接,产品中经常需要这样的需求,如果在给用户下发的短信中是一个很长的连接,用户体验肯定很差,因此我们需要实 ...

  8. mysqlfailover测试

    mysqlfailover是mysql官方用python语言写的一款工具,包含在mysql utilities工具集中.主要作用是保障mysql高可用.他会定时检测节点状态,当master节点不可用时 ...

  9. (18)zabbix值映射Value mapping

    1. 介绍 zabbix为了显示更人性化的数据,在使用过程中,我们可以将获取到得数据映射为一个字符串. 比如,我们写脚本监控MySQL是否在运行中, 一般返回0表示数据库挂了,1表示数据库正常,还有各 ...

  10. C++简单年月日的功能实现

    // C++年月日判断初步代码 #include <iostream> using namespace std; class Data { int year; int month; int ...