package com.json; import java.lang.reflect.Method; import java.text.ParseException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.json.JSONException; import org.json.JSONObject; /** * * 1:将JavaBean转换成Map、JSONObject * 2:将Map转换成Javabean * 3:将JSONObject转换成Map、Javabean * * @author Alexia */ public class JsonHelper { /** * 将Javabean转换为Map * * @param javaBean * javaBean * @return Map对象 */ public static Map toMap(Object javaBean) { Map result = new HashMap(); Method[] methods = javaBean.getClass().getDeclaredMethods(); for (Method method : methods) { try { if (method.getName().startsWith("get")) { String field = method.getName(); field = field.substring(field.indexOf("get") + 3); field = field.toLowerCase().charAt(0) + field.substring(1); Object value = method.invoke(javaBean, (Object[]) null); result.put(field, null == value ? "" : value.toString()); } } catch (Exception e) { e.printStackTrace(); } } return result; } /** * 将Json对象转换成Map * * @param jsonObject * json对象 * @return Map对象 * @throws JSONException */ public static Map toMap(String jsonString) throws JSONException { JSONObject jsonObject = new JSONObject(jsonString); Map result = new HashMap(); Iterator iterator = jsonObject.keys(); String key = null; String value = null; while (iterator.hasNext()) { key = (String) iterator.next(); value = jsonObject.getString(key); result.put(key, value); } return result; } /** * 将JavaBean转换成JSONObject(通过Map中转) * * @param bean * javaBean * @return json对象 */ public static JSONObject toJSON(Object bean) { return new JSONObject(toMap(bean)); } /** * 将Map转换成Javabean * * @param javabean * javaBean * @param data * Map数据 */ public static Object toJavaBean(Object javabean, Map data) { Method[] methods = javabean.getClass().getDeclaredMethods(); for (Method method : methods) { try { if (method.getName().startsWith("set")) { String field = method.getName(); field = field.substring(field.indexOf("set") + 3); field = field.toLowerCase().charAt(0) + field.substring(1); method.invoke(javabean, new Object[] { data.get(field) }); } } catch (Exception e) { } } return javabean; } /** * JSONObject到JavaBean * * @param bean * javaBean * @return json对象 * @throws ParseException * json解析异常 * @throws JSONException */ public static void toJavaBean(Object javabean, String jsonString) throws ParseException, JSONException { JSONObject jsonObject = new JSONObject(jsonString); Map map = toMap(jsonObject.toString()); toJavaBean(javabean, map); } }
package com.json; import java.text.ParseException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; /** * 使用json-lib构造和解析Json数据 * * @author Alexia * @date 2013/5/23 * */ public class OrgJsonTest { /** * 构造Json数据 * * @return * @throws JSONException */ public static String BuildJson() throws JSONException { // JSON格式数据解析对象 JSONObject jo = new JSONObject(); // 下面构造两个map、一个list和一个Employee对象 Map<String, String> map1 = new HashMap<String, String>(); map1.put("name", "Alexia"); map1.put("sex", "female"); map1.put("age", "23"); Map<String, String> map2 = new HashMap<String, String>(); map2.put("name", "Edward"); map2.put("sex", "male"); map2.put("age", "24"); List<Map> list = new ArrayList<Map>(); list.add(map1); list.add(map2); Employee employee = new Employee(); employee.setName("wjl"); employee.setSex("female"); employee.setAge(24); // 将Map转换为JSONArray数据 JSONArray ja = new JSONArray(); ja.put(map1); System.out.println("JSONArray对象数据格式:"); System.out.println(ja.toString()); // 将Javabean转换为Json数据(需要Map中转) JSONObject jo1 = JsonHelper.toJSON(employee); System.out.println("\n仅含Employee对象的Json数据格式:"); System.out.println(jo1.toString()); // 构造Json数据,包括一个map和一个含Employee对象的Json数据 jo.put("map", ja); jo.put("employee", jo1.toString()); System.out.println("\n最终构造的JSON数据格式:"); System.out.println(jo.toString()); return jo.toString(); } /** * 解析Json数据 * * @param jsonString * Json数据字符串 * @throws JSONException * @throws ParseException */ public static void ParseJson(String jsonString) throws JSONException, ParseException { JSONObject jo = new JSONObject(jsonString); JSONArray ja = jo.getJSONArray("map"); System.out.println("\n将Json数据解析为Map:"); System.out.println("name: " + ja.getJSONObject(0).getString("name") + " sex: " + ja.getJSONObject(0).getString("sex") + " age: " + ja.getJSONObject(0).getInt("age")); String jsonStr = jo.getString("employee"); Employee emp = new Employee(); JsonHelper.toJavaBean(emp, jsonStr); System.out.println("\n将Json数据解析为Employee对象:"); System.out.println("name: " + emp.getName() + " sex: " + emp.getSex() + " age: " + emp.getAge()); } /** * @param args * @throws JSONException * @throws ParseException */ public static void main(String[] args) throws JSONException, ParseException { // TODO Auto-generated method stub ParseJson(BuildJson()); } }
相关推荐
我的项目中要用到json.jar json json.jar json的jar核心jar包json json.jar json的jar核心jar包json json.jar json的jar核心jar包
PHP 获取JSON json_decode返回NULL解决办法,不小心在返回的json字符串中返回了BOM头的不可见字符,某些编辑器默认会加上BOM头,这样处理才能正确解析json数据
java工程源码实现xml和json的互转,工程已包含所jar包:commons-beanutils-1.7.0.jar、commons-collections-3.1.jar、commons-lang-2.5.jar、commons-logging.jar、ezmorph-1.0.3.jar、json-lib-2.4-jdk15.jar、xom-...
json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于...
json 解析 json 解析 json 解析 json 解析 json 解析 json 解析 json 解析 json 解析 json 解析 json 解析 json 解析 json 解析
**JsonView:强大的Json解析与可视化工具** JsonView是一款针对Android平台设计的高效Json解析和可视化工具,它为开发者提供了一种直观的方式来查看和理解Json数据。在Android应用开发过程中,处理Json数据是常见的...
这篇关于“经典ASP读取JSON字符串/生成JSON对象,数组对象等”的知识将详细介绍如何在ASP环境中处理JSON数据。 1. **JSON对象与数组的结构**: JSON对象以大括号{}表示,键值对之间用逗号分隔。键必须是字符串,用...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在PHP中,JSON常用于与服务器进行数据交互,特别是在Web服务和AJAX应用中。PHP 4.0版本时,官方并未...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。它基于JavaScript语法,但独立于语言,具有易读易写的特点,适合人和机器阅读。在IT领域,我们经常...
在这个场景下,我们关注的是如何在C++中处理JSON格式的数据以及进行Base64编码和解码,这些都是现代网络通信和数据存储中常见的技术。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间的数据传输。它的设计目标是尽可能地简单、易于读写,并且能够被人类和机器轻易地解析和生成。在本文中,我们将深入探讨...
sql server 2014 JSON解析到表函数 CREATE FUNCTION [dbo].[parseJSON]( @JSON NVARCHAR(MAX)) RETURNS @hierarchy TABLE ( element_id INT IDENTITY(1, 1) NOT NULL, ...
在.NET 2.0框架中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于在客户端和服务器之间传输数据。由于其简洁、易于读写的特点,JSON已经成为了Web服务通信的标准之一。本篇文章将深入探讨...
使用Gson解析JSON JSON(JavaScript Object Notation)是一种轻量级的文本数据交换格式,独立于语言和平台,使用JavaScript语法来描述数据对象。JSON具有自我描述性,更易理解。JSON解析器和JSON库支持许多不同的...
简单的Json转化类,Json格式与Json对象之间互相转换。 示例:(文件内附示例) string s = "{\r\n" + "\"name\":\"Bill Gates\",\r\n"+ "\"street\":\"Fifth Avenue New York 666\",\r\n"+ "\"age\":56,\r\n"+ ...
C#的JSON数据格式转换 C#语言中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON数据格式转换是C#语言中常用的数据交换方式,特别是在Web应用...
本文实例讲述了Python3实现的字典、列表和json对象互转功能。分享给大家供大家参考,具体如下: python3可以使用json模块操作json json.dumps(): 对json进行编码,对应php的json_encode() json.loads(): 对json进行...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。在MATLAB环境中,处理JSON数据通常需要借助特定的工具或库,如开源项目`jsonlab`。`jsonlab`是MATLAB...
json11::Json jsonObject = json11::Json::parse(jsonString); if (jsonObject.is_object()) { // 处理解析成功的对象 } else { // 处理解析错误 } ``` 一旦你有了JSON对象,可以访问其成员或进行修改。例如,...
Excel和JSON是两种广泛使用的数据存储和传输格式。Excel通常用于结构化的表格数据,而JSON(JavaScript Object Notation)则是一种轻量级的数据交换格式,适用于网络传输。本教程将详细讲解如何将Excel数据转换为...