封装成工具类

  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. C++实现动态数组

    实现一个动态数组,要求对于随机访问可以在常数时间完成,可以通过push_back向数据的尾部追加元素,可以通过pop_back删除尾部元素,能够满足常见的数组操作. LINE 2016年春招笔试   ...

  2. Educational Codeforces Round 11 C hard process_补题——作为司老大的脑残粉

    司老大当时教了一种姿势枚举连续K个0,说实话当时比赛写这题完全蒙了 纵然后来知道思路还是写了一段时间 真的是.. 题目大意 n长度的序列,由0 1构成 我们可以改变 k个0为1 求可以得到的最长连续1 ...

  3. ajax的traditional属性

    jquery框架的ajax参数除了常用的 $.ajax({ url: 'xxx', type: 'xxx', data: 'xxx', success: 'xxx' ... }) 外还有一个参数需要特 ...

  4. 编写shellcode的几种姿势

    今天开始在做hitcon-training的题目,做到lab2就发现了自己的知识盲区,遇到无法执行shell的情况,需要自己打shellcode执行cat flag 操作 经过一系列的搜索,发现了几种 ...

  5. Java常见对象Object类中的个别方法

    Java常见对象Object类 public int hashCode() : 返回该对象的哈希码值. 注意:哈希值是根据哈希算法计算出来的一个值,这个值和地址值有关,但是不是实际地址值.你可以理解成 ...

  6. WPF显示尺寸与设备无关问题

    WPF单位 WPF窗口以及其中的所有元素都是用与设备无关的单位进行度量.一个与设备无关的单位被定义为1/96英寸.WPF程序统一用下面一个公式来定义物理单位尺寸: [ 物理单位尺寸(像素)] = [ ...

  7. 记服务器 httpd 服务无法启动

    httpd 服务无法重启 ,网上查到的资料都是端口号冲突 ,记录一下自己的解决办法 !!! 首先查看 服务状态 :  service status httpd / systemctl status h ...

  8. Pycharm快捷键及Python常用转义符

    不管是windows.xshell或者pycharm,学会使用快捷键都会使学习工作达到事半功倍的效果.这篇博客收集了部分常用的pycharm快捷键,分享给大家,希望对大家有用. 1. 常用快捷键 Py ...

  9. 在centos7中为php7安装redis扩展

    在此之前一直是用php5.6,安装redis也没遇到啥问题,嗖嗖的就安装上了 更新php版本到php7后,编译的时候报错 include <ext/standard/php_smart_str. ...

  10. django(django项目创建,数据库迁移)

    Django项目的创建与介绍 安装:pip3 install django==1.11 查看版本号:django-admin --version 新建项目: 1.切到目标目录 2.django-adm ...