干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. 【原创】构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)—托管资源优化—监测CLR性能

    原文:[原创]构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)-托管资源优化-监测CLR性能 构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)—托管资源优化—监测C ...

  2. newlisp 接受jenkins带空格的参数

    jenkins有一个参数text种类,它能够以文本的段落拷贝作为参数 newlispThe program receives parameters are separated by spaces, 更 ...

  3. 简单vector达到

    得知c++于,看完这本书后,,最近苦于不知道下一步该怎么做了,在寻找STL在各种容器的源代码分析,我想一次又一次地实现它. 之前,很多问题看的时候不知道是怎么回事,意与理解的.这个vector类写得特 ...

  4. C++11的一些功能

    .断言是将一个须要为真的表达式放在语句中,在debug模式下检查一些逻辑错误的參数.C++中使用assert须要使用<assert.h>或者<cassert>头文件.有函数定义 ...

  5. SQL 2008 SP2 找不到SQL Server Engine

    原文:SQL 2008 SP2 找不到SQL Server Engine 最近我有个客户碰到一个很奇怪的问题.他安装SQL server 2008 SP2的时候, SP2的安装程序无法找到SQL se ...

  6. Android 应用程序窗口显示状态操作(requestWindowFeature()的应用)

     我们在开发程序是常常会须要软件全屏显示.自己定义标题(使用button等控件)和其它的需求,今天这一讲就是怎样控制Android应用程序的窗口显示. 首先介绍一个重要方法那就是requestWi ...

  7. nyoj 322 Sort 【树阵】

    这个问题实际上是在测试树的数组. 代码: #include <cstdio> #include <cstring> int c[1005]; int lowbit(int x) ...

  8. Java 新特性(7) - Java EE 7 新特性

    http://www.ibm.com/developerworks/cn/java/j-lo-javaee7/ 新特性主要集中在: 1. 提高开发人员的生产力 2. 加强对 HTML5 动态可伸缩应用 ...

  9. SDUT 1265-马停下过河卒(DFS)

    马拦过河卒 nid=24#time" title="C.C++.go.haskell.lua.pascal Time Limit3000ms Memory Limit 65536K ...

  10. python基础课程_学习笔记13:标准库:有些收藏夹——sys

    标准库:有些收藏夹 sys sys这个模块可以让你访问和python解释器联系紧密的变量和函数. sys模块中一些重要的函数和变量 函数/变量 描写叙述 argv 命令行參数,包含脚本名称 exit( ...