干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. ASP.NET Web API中的JSON和XML序列化

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

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

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

  4. 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 ...

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

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

  6. ASP.NET 使用 System.Web.Script.Serialization 解析 JSON (转)

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Langu ...

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

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

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

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

  9. csharp: using using System.Web.Script.Serialization read json

    using System; using System.Data; using System.Configuration; using System.Collections; using System. ...

随机推荐

  1. 高速压缩跟踪(fast compressive tracking)(CT)算法分析

    本文为原创,转载请注明出处:http://blog.csdn.net/autocyz/article/details/44490009 Fast Compressive Tracking (高速压缩跟 ...

  2. CSDN帐号被盗尚未?

    总是早上登录CSDN,STIL.总是让C货币. 但是今天除了发C币,还提示我有2篇博文被删除了,打开看了看,原来不是我发的. watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...

  3. Android网络通信Volley框架源代码浅析(三)

    尊重原创 http://write.blog.csdn.net/postedit/26002961 通过前面浅析(一)和浅析(二)的分析.相信大家对于Volley有了初步的认识,可是假设想更深入的理解 ...

  4. Codeforces Round #256 (Div. 2)——Multiplication Table

    题目链接 题意: n*m的一个乘法表,从小到大排序后,输出第k个数  (1 ≤ n, m ≤ 5·105; 1 ≤ k ≤ n·m) 分析: 对于k之前的数,排名小于k:k之后的数大于,那么就能够採用 ...

  5. 深入浅出java并发

    http://www.blogjava.net/xylz/archive/2010/07/08/325587.html

  6. 理解Java虚拟机体系结构(转)

    1 概述 众所周知,Java支持平台无关性.安全性和网络移动性.而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么.正是得益于Jav ...

  7. ORACLE安装心得,大家一起分享,假设不正确的地方,大家请指出来

    1. 安装\Oracle\10201_database_win32.zip: a) 安装图解: http://jingyan.baidu.com/article/5d6edee228308899ead ...

  8. Web Design 再生:UX Design

    高质量的Web 模板,成熟的Design Pattern,人工智能的引用,移动技术的冲击是否标志着Web Design 结束的时代已经到来? Web Design 最终也未避免与“死亡”这个词的关联, ...

  9. Oracle 数据导出到PowerDesigner

    原文:Oracle 数据导出到PowerDesigner [一]配置ODBC win7 :控制面板(查看方式:小图标)→管理工具→数据源(ODBC) 在[ODBC数据源管理器]面板下,在默认[用户DN ...

  10. 百度官方wormHole后门检测记录(转)

    本次这个安卓后门真是哔了狗了,刚加入大安卓阵营就出了这个篓子,跟你root不root和什么安卓版本没有版毛钱关系,完全是百度SDK官方提供的后门,不是漏洞,人为的. 乌云地址:http://drops ...