在做web应用时,经常需要将json转化成Object/list/map或者将Object/List/map转化成json,通过简单封装可以在写代码是减轻很多负担。本文将给出json转化的一系列方法。 闲话不 多说,直接上代码:

先是Object /List /Map转化为Json

    /* 功能      :将一个对象转成json数组
* 参数 :object对象
* return :json数组
* */
public String getJsonByJSONArrayFromObject(Object o) {
JSONArray json = JSONArray.fromObject(o);
return json.toString();
}
/* 功能 :将一个对象转成json对象
* 参数 :object对象
* return :json对象
* */
public String getJsonByBeanFromObject(Object o) {
JSONObject jsonObj = JSONObject.fromObject(o);
return jsonObj.toString();
} /* 功能 :将一个List转成json数组
* 参数 :对象list
* return :json数组
* 返回的格式: [{"password":"1234","username":"cxl"}]
* */
public String getJsonByJSONArrayFromList(List list) {
JSONArray json = JSONArray.fromObject(list);
return json.toString();
}
/* 功能 :将一个List转成json对象
* 参数 :对象list
* return :json对象
* */
public String getJsonByJSONObjectFromList(List list) {
JSONObject jsonObj = new JSONObject();
for (int i = 0; i < list.size(); i++) {
jsonObj.put(list.get(i).toString(), list.get(i));
}
return jsonObj.toString();
}
/* 功能 :将一个map转成json数组
* 参数 :map
* return :json数组
* */
public String getJsonByJSONArrayFromMap(Map map) {
JSONArray json = JSONArray.fromObject(map);
return json.toString();
}
/* 功能 :将一个map转成json对象
* 参数 :map
* return :json对象
* */
/*
* Map<String,Object> map = new HashMap<String,Object>(); map.put("users",
* users); map.put("u", u);
*/
public String getJsonByJSONObjectFromMap(Map map) {
JSONObject json = JSONObject.fromObject(map);
return json.toString();
}

然后是json转化为其他类型

     /*
* 功能 :将json对象(只有一组值)转成object
* 参数 :json字符串
* return : javabean 对象
*
* */
// {id:'id1',code:'code1',name:'name1'}
public Object getBeantByJSONObjectFromJson(String json) {
JSONObject jsonObject = JSONObject.fromObject(json);
Object object=(Object)JSONObject.toBean(jsonObject);
return object;
}
/*
* 功能 :将json转成map
* 参数 :json字符串
* return : map
* */
// {id:'id1',code:'code1',name:'name1'}
public Map<String, Object> getMapByJson(String json) {
Map<String, Object> map = new HashMap<String, Object>();
// 最外层解析
JSONObject object = JSONObject.fromObject(json);
for (Object k : object.keySet()) {
Object v = object.get(k);
map.put(k.toString(), v);
}
return map;
}
/*
* 功能 :将json转成list
* 参数 :json字符串
* return : list
* */
// [{id:'id1',code:'code1',name:'name1'},{id:'id2',code:'code2',name:'name2'}]
public List getListByJSONArrayFromJson(String json) {
JSONArray array = JSONArray.fromObject(json);
List list=(List)JSONArray.toList(array);
return array;
}

玩转Web之Json(四)---json与(Object/List/Map)的相互转化的更多相关文章

  1. 有趣Web之Json(四)---json与(Object/List/Map)相互转化

    干web报名时间.通常,他们需要json转换为Object/list/map要么Object/List/map转换为json,由能够编写代码的简单包装非常多,以减轻负担. 本文将给出json的一系列的 ...

  2. 玩转Web之Json(三)-----easy ui怎么把前台显示的dataGird中的所有数据序列化为json,返回到后台并解析

    最近做一个项目时,需要在dataGird中插入<input>,即文本输入框,当点击提交时,需要把文本框里填的数据返以及其他列的一些信息以json数组的格式返回到后台,虽然我实现了该功能,但 ...

  3. ASP.NET Web API中的JSON和XML序列化

    ASP.NET Web API中的JSON和XML序列化 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok ...

  4. application/json 四种常见的 POST 提交数据方式

    四种常见的 POST 提交数据方式   HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 ...

  5. 转:application/json 四种常见的 POST 提交数据方式

    四种常见的 POST 提交数据方式 HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 PO ...

  6. Web Api 中返回JSON的正确做法

    在使用Web Api的时候,有时候只想返回JSON:实现这一功能有多种方法,本文提供两种方式,一种传统的,一种作者认为是正确的方法. JSON in Web API – the formatter b ...

  7. 【ASP.NET Web API教程】6.2 ASP.NET Web API中的JSON和XML序列化

    谨以此文感谢关注此系列文章的园友!前段时间本以为此系列文章已没多少人关注,而不打算继续下去了.因为文章贴出来之后,看的人似乎不多,也很少有人对这些文章发表评论,而且几乎无人给予“推荐”.但前几天有人询 ...

  8. Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化

    前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET W ...

  9. C#解析复杂的Json成Dictionary<key,value>并保存到数据库(多方法解析Json 四)

    准备工作: 1.添加引用System.Web.Extensions, 2..net3.5+版本都有,如果VS2010找不到,在这个文件夹找:C:\Program Files\Reference Ass ...

随机推荐

  1. [Android学习笔记]子线程更新UI线程方法之Handler

    关于此笔记 不讨论: 1.不讨论Handler实现细节 2.不讨论android线程派发细节 讨论: 子线程如何简单的使用Handler更新UI 问题: android开发时,如何在子线程更新UI? ...

  2. [Windows Phone]AnimationHelper管理分散的Storyboard

    问题描述: 在Windows Phone开发时候,可能存在这样的问题: 某一个控件需要一个特定的展现(这里假定是一个特定动画),那么我们会这么解决这个问题呢? 打开Blend,根据需求需求给控件添加动 ...

  3. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  4. 图像编程学习笔记2——bmp位图平移

    以下文字内容copy于<<数字图像处理编程入门>>,code为自己实现,是win32控制台程序. 2.1 平移 平移(translation)变换大概是几何变换中最简单的一种了 ...

  5. bootstrap css选择不同的宽度

    刚开始使用bootstrap css开源项目.遇到一个问题,默认的input 宽度太大,需要找小一点的. 其实只需要在input tag中选用预定义的较小的宽度即可.比如: <input typ ...

  6. HDU 4611 Balls Rearrangement (数学-思维逻辑题)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4611 题意:给你一个N.A.B,要你求 AC代码: #include <iostream> ...

  7. C语言实现通讯录

    <span style="font-size:18px;">#include<stdio.h> #include<string.h> #incl ...

  8. 分享3一个博客HTML5模板

    1.材类别:半透明 博客html模板 个人博客 半透明html5博客主题,半透明,博客,博客html模板,个人博客,html5,灰色,半透明html5博客主题是一款适合用于个人博客主题,风格非常不错. ...

  9. windows 2003 自动安全设置

    @echo offecho.echo.echo.echo 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓echo.echo.echo windows 2003 自动安全设置程序 echo. ec ...

  10. 具体解释java定时任务

    在我们编程过程中假设须要运行一些简单的定时任务,无须做复杂的控制.我们能够考虑使用JDK中的Timer定时任务来实现. 以下LZ就其原理.实例以及Timer缺陷三个方面来解析java Timer定时器 ...