一。JSONBuilder可以向文件中写入写入json字符串。如下面的例子:

  1. 1 public class Test
  2. 2 {
  3. 3 public static void main(String args[]) throws IOException
  4. 4 {
  5. 5 File f = new File("d:" + File.separator + "test.txt");
  6. 6 FileWriter fw = new FileWriter(f);
  7. 7 JSONBuilder builder = new JSONBuilder(fw);
  8. 8 builder.object();
  9. 9 builder.key("Json");
  10. 10 builder.value("Hello, World!");
  11. 11 builder.endObject();
  12. 12 fw.flush();
  13. 13 fw.close();
  14. 14 }
  15. 15 }

二。JSONBuilder:可以把一个对象转成json的输出

GsonBuilder json=new GsonBuilder();

User user=new User();

user.setName("jjr");

String userJson=json.create().toJson(user);

三。可以写个工具类好调用

  1. FastJsonUtil
  1. public class FastJsonUtil {
  2. public static String bean2Json(Object obj) {
  3. return JSON.toJSONString(obj);
  4. }
  5.  
  6. public static <T> T json2Bean(String jsonStr, Class<T> objClass) {
  7. return JSON.parseObject(jsonStr, objClass);
  8. }
  9. }

GsonUtil.java:

  1. public class GsonUtil {
  2. private static Gson gson = new GsonBuilder().create();
  3.  
  4. public static String bean2Json(Object obj) {
  5. return gson.toJson(obj);
  6. }
  7.  
  8. public static <T> T json2Bean(String jsonStr, Class<T> objClass) {
  9. return gson.fromJson(jsonStr, objClass);
  10. }
  11.  
  12. public static String jsonFormatter(String uglyJsonStr) {
  13. Gson gson = new GsonBuilder().setPrettyPrinting().create();
  14. JsonParser jp = new JsonParser();
  15. JsonElement je = jp.parse(uglyJsonStr);
  16. return gson.toJson(je);
  17. }
  18. }

JacksonUtil.java

  1. public class JacksonUtil {
  2. private static ObjectMapper mapper = new ObjectMapper();
  3.  
  4. public static String bean2Json(Object obj) {
  5. try {
  6. return mapper.writeValueAsString(obj);
  7. } catch (JsonProcessingException e) {
  8. e.printStackTrace();
  9. return null;
  10. }
  11. }
  12.  
  13. public static <T> T json2Bean(String jsonStr, Class<T> objClass) {
  14. try {
  15. return mapper.readValue(jsonStr, objClass);
  16. } catch (IOException e) {
  17. e.printStackTrace();
  18. return null;
  19. }
  20. }
  21. }

JsonLibUtil.java

  1. public class JsonLibUtil {
  2.  
  3. public static String bean2Json(Object obj) {
  4. JSONObject jsonObject = JSONObject.fromObject(obj);
  5. return jsonObject.toString();
  6. }
  7.  
  8. @SuppressWarnings("unchecked")
  9. public static <T> T json2Bean(String jsonStr, Class<T> objClass) {
  10. return (T) JSONObject.toBean(JSONObject.fromObject(jsonStr), objClass);
  11. }
  12. }

JSONBuilder的用法的更多相关文章

  1. json学习系列(7)JSONBuilder的用法

    JSONBuilder可以向文件中写入写入json字符串.如下面的例子: public class Test { public static void main(String args[]) thro ...

  2. ElasticSearch的基本用法与集群搭建

    一.简介 ElasticSearch和Solr都是基于Lucene的搜索引擎,不过ElasticSearch天生支持分布式,而Solr是4.0版本后的SolrCloud才是分布式版本,Solr的分布式 ...

  3. ElasticSearch的基本原理与用法

    一.简介 ElasticSearch和Solr都是基于Lucene的搜索引擎,不过ElasticSearch天生支持分布式,而Solr是4.0版本后的SolrCloud才是分布式版本,Solr的分布式 ...

  4. ElasticSearch的基本用法与集群搭建 good

    一.简介 ElasticSearch和Solr都是基于Lucene的搜索引擎,不过ElasticSearch天生支持分布式,而Solr是4.0版本后的SolrCloud才是分布式版本,Solr的分布式 ...

  5. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  6. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  7. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  8. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  9. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

随机推荐

  1. Eureka源码解析系列文章汇总

    先看一张图 0 这个图是Eureka官方提供的架构图,整张图基本上把整个Eureka的核心功能给列出来了,当你要阅读Eureka的源码时可以参考着这个图和下方这些文章 EurekaServer Eur ...

  2. uni-app学习(六)好用的插件4

    1. uni-app学习(六)好用的插件4 1.1. QQ音乐模板 点击这里 示例 1.2. 画廊(ynGallery)组件 点击这里 看起来不错的 示例 1.3. 评价模板 学到个动画用法 imag ...

  3. flink WaterMark之TumblingEventWindow

    1.WaterMark,翻译成水印或水位线,水印翻译更抽象,水位线翻译接地气. watermark是用于处理乱序事件的,通常用watermark机制结合window来实现. 流处理从事件产生,到流经s ...

  4. 个人项目:WC

    一.GitHub项目地址:https://github.com/lseap/myWC 二.PSP表格: PSP2.1 Personal Software Process Stages 预估耗时(分钟) ...

  5. 【Idea】idea中编译后无法提示错误信息的解决方案

  6. 从Sources构建nginx,编译安装nginx

    从Sources构建nginx 使用configure命令配置构建,定义了系统的各个方面,包括允许nginx用于连接处理的方法,最后创建了一个Makefile. configure命令参数: --he ...

  7. 2019第一期《python测试开发》课程,10月13号开学

    2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20: ...

  8. LNK1104 无法打开文件“xxx.lib”

    尝试解决方法: 1.找到这个库,把这个库移动到特定的文件夹下,在属性中添加这个库: 具体来说:打开VS项目->项目属性->配置属性->C/C+±>附加包含目录->编辑-& ...

  9. centos depot_tools安装

    https://github.com/cybertk/depot_tools This package contains tools for working with Chromium develop ...

  10. 如何使用jmockit进行单元测试

    1. Jmockit简介 JMockit 是用以帮助开发人员编写测试程序的一组工具和API,它完全基于 Java 5 SE 的 java.lang.instrument 包开发,内部使用 ASM 库来 ...