有趣Web之Json(四)---json与(Object/List/Map)相互转化
干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)相互转化的更多相关文章
- 玩转Web之Json(四)---json与(Object/List/Map)的相互转化
在做web应用时,经常需要将json转化成Object/list/map或者将Object/List/map转化成json,通过简单封装可以在写代码是减轻很多负担.本文将给出json转化的一系列方法. ...
- ASP.NET Web API中的JSON和XML序列化
ASP.NET Web API中的JSON和XML序列化 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok ...
- 【ASP.NET Web API教程】6.2 ASP.NET Web API中的JSON和XML序列化
谨以此文感谢关注此系列文章的园友!前段时间本以为此系列文章已没多少人关注,而不打算继续下去了.因为文章贴出来之后,看的人似乎不多,也很少有人对这些文章发表评论,而且几乎无人给予“推荐”.但前几天有人询 ...
- 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 ...
- C#解析复杂的Json成Dictionary<key,value>并保存到数据库(多方法解析Json 四)
准备工作: 1.添加引用System.Web.Extensions, 2..net3.5+版本都有,如果VS2010找不到,在这个文件夹找:C:\Program Files\Reference Ass ...
- ASP.NET 使用 System.Web.Script.Serialization 解析 JSON (转)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Langu ...
- application/json 四种常见的 POST 提交数据方式
四种常见的 POST 提交数据方式 HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 ...
- 转:application/json 四种常见的 POST 提交数据方式
四种常见的 POST 提交数据方式 HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 PO ...
- csharp: using using System.Web.Script.Serialization read json
using System; using System.Data; using System.Configuration; using System.Collections; using System. ...
随机推荐
- rhel6使用的版本数部分intel xeon处理器时间bug
可惜在总前几天"oracle操作和维护的高级别小组"于.BBQ 上帝说,大量RHEL的bug.这bug在这个例子中,下面的URL: https://access.redhat.co ...
- bat(批处理文件)初步 第一篇 基本符号
近期我使用的一款软件中须要大量的环境变量设置,而我又不想讲这些变量都加入到系统的环境变量中,一方面是由于有一些同名的库文件的版本号却不一样,都 写在系统环境中会相互干扰:还有一方面则是大部分的路径仅仅 ...
- 无法Debug SQL: Unable to start T-SQL Debugging. Could not attach to SQL Server process on
今天SSMS debug SQL当脚本,突然错误: Unable to start T-SQL Debugging. Could not attach to SQL Server process on ...
- 动态生成Zip
动态生成Zip文档 通过前面一篇烂文的介绍,大伙儿知道,ZipArchive类表示一个zip文档实例,除了用上一篇文章中所列的方法来读写zip文件外,还可以直接通过ZipArchive类,动态生成 ...
- SQL Server 优化存储过程的七种方法
原文:SQL Server 优化存储过程的七种方法 优化存储过程有很多种方法,下面介绍最常用的7种. 1.使用SET NOCOUNT ON选项 我们使用SELECT语句时,除了返回对应的结果集外,还会 ...
- Finding awesome developers in programming interviews(转)
英文原文:Finding awesome developers in programming interviews 我曾在一次面试中要求一个很有经验的嵌入式软件开发人员写出一个反转一段字符串并输出到屏 ...
- android file.createnewfile ioexception
近期在写项目的时候,文件有时候能创建成功有时候直接io异常,真是太扯淡.找了许久,最终找到原因 android 中创建文件,文件的名字中不能包括冒号啊这种特殊字符, 仅仅要你感觉有点特殊的字符最好都不 ...
- Scut游戏server引擎Unity3d访问
Scut提供Unity3d Sdk包.便利的高速发展和Scut游戏server对接: 看Unity3d示为以下的比率: 启动Unity3d项目 打开Scutc.svn\SDK\Unity3d\Asse ...
- Swift 学习Using Swift mix and match, network: 写rss读者
有使用第三方库.因此,需要使用mix and match财产. 请指出错误,谢谢! rss 阅读器,非常easy的代码.仅仅是为了学习swift语言而写. 1、BaseViewController.s ...
- java中System类简介(转)
上次面试中遇到的一个问题,问到System.out.println()中的out是不是内部类[不是内部类],当时就给问蒙了,直观感觉out应该是System类的一个属性,跟内部类有什么关系?而且之前整 ...