`

由Map和类生成Json,由Json生成Map

    博客分类:
  • Java
 
阅读更多
public static void main(String[] args) throws JSONException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
//解析Json
		JsonParse jsonParse=new JsonParse();
		String jsonString=jsonParse.buildJson();
        jsonParse.jsonToMap(jsonString);
        jsonParse.beanToMap(new Employee());
}
package com.parse.sym;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.omg.CORBA.portable.ValueBase;

public class JsonParse {
	

	// Map和类生成Json
	public String buildJson() throws JSONException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
		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);
		JSONObject jObject=new JSONObject();
		jObject.put("name", "Edward");
		jObject.put("name1", "Edward1");
		System.out.println(jObject.toString());
		/*
		 * 打印结果:{"name":"Edward","name1":"Edward1"}
		 */
		//注意JSONObject和JSONArray装载数据的格式
		JSONArray jmap = new JSONArray();
		jmap.put(map1);
		System.out.println("JSONArray对象数据格式:");
		System.out.println(jmap.toString());
		/*
		 * JSONArray对象数据格式:[{"sex":"female","name":"Alexia","age":"23"}]
		 */
		JSONObject jbean = new JSONObject(beanToMap(employee));
		System.out.println("仅含有Employ对象数据格式:");
		System.out.println(jbean.toString());
		/*
		 * 打印结果:{"sex":"female","name":"wjl","age":"24"}
		 */
		JSONObject jall = new JSONObject();
		jall.put("map", map1);//Map转换成Json
		jall.put("employ",jbean );
		System.out.println("同时含有Employ对象和Map数据格式:");
		System.out.println(jall.toString());
		/*
		 * 打印结果:{"map":{"sex":"female","name":"Alexia","age":"23"},"employ":{"sex":"female","name":"wjl","age":"24"}}
		 */
		return jall.toString();
	}

	// Json生成Map
	public Map<String, Object> jsonToMap(String jsonString) throws JSONException {
		//JSONObject必须以"{"开头
		JSONObject jsonObject = new JSONObject(jsonString);
		Map<String, Object> resultMap = new HashMap<String, Object>();
		Iterator<String> iter = jsonObject.keys();
		String key=null;
		Object value=null;
		while (iter.hasNext()) {
			key=iter.next();
			value=jsonObject.get(key);
			resultMap.put(key, value);
		}
		System.out.println(resultMap);
		/*
		 * 打印结果{map={"sex":"female","age":"23","name":"Alexia"}, employ={"sex":"female","age":"24","name":"wjl"}}
		 */
		return resultMap;
	}
	//Bean生成Map
	public Map<String, Object> beanToMap(Object bean) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException{
		Map<String, Object> result=new HashMap<String, Object>();
		Method[] methods = bean.getClass().getDeclaredMethods();
		for (Method method:methods) {
			if (method.getName().startsWith("get")) {
				String field=method.getName();
				field=field.toLowerCase().substring(3);
				Object value=method.invoke(bean, null);
				result.put(field, value==null?"":value.toString());
			}
		}
		return result;
	}
}
package com.parse.sym;

public class Employee {
	private String name;
	private String sex;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

分享到:
评论

相关推荐

    json字符串转成 Map/List

    它基于JavaScript的一个子集,格式简洁且易于读写,同时也易于机器解析和生成。在Java中,将JSON字符串转换为Map或List是常见的操作,这在处理服务器返回的数据或者进行数据序列化时非常有用。 JSON字符串的结构...

    java后台生成JSON数据

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析和生成,故在 Web 服务中广泛应用。 在 Java 中,我们可以使用多种库来生成 JSON 数据,其中最常用的是 ...

    json工具类,json转对象转map对象转json

    json工具类,json转为对象,json转map。对象转json。便于使用

    Map转成json

    Map和Json都是广泛使用的数据格式,但它们有着不同的应用场景。Map是许多编程语言(如Java、Python等)中的一个内置数据类型,用于存储键值对,而Json则是一种轻量级的数据交换格式,常用于Web服务的数据传输。本...

    echarts map地图完整json数据

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在ECharts地图中,JSON数据文件包含了地图的几何形状、属性信息等,如省份、城市的名字、经纬度坐标...

    echarts-mapJson-中国各省市县区地图json包

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在 ECharts 中,这样的 JSON 数据用于定义地图的形状和位置,使地图能够准确地反映出中国的地理特征...

    Java读取json文件,并转化为map取值

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本教程将深入讲解如何使用Java读取JSON文件,并将其内容转化为Map以便进行取值操作。 首先,我们...

    java转换xml、list、map和json

    "java转换xml、list、map和json" 本文主要讲述了Java中将xml、list、map和json之间的转换的相关知识点。 xml和map之间的转换 在Java中,xml和map之间的转换可以通过使用dom4j库来实现。dom4j是一个Java开源库,...

    读json文件自动生成jsonpath

    总之,要实现“读json文件自动生成jsonpath”,你需要理解JSON和JSONPath的基本概念,然后使用合适的库(如JsonPath)或自定义实现来处理JSON数据,生成对应的查询路径。`JsonPathLib.java`可能就是这样一个工具,...

    androidmap转json字符串、list转json字符串工具类.zip

    总结一下,这个压缩包提供的是两个关键的Java工具类,它们能够帮助Android开发者快速地将Map和List对象转换为JSON字符串。通过理解和使用这些工具,可以提高代码的可读性和效率,简化数据处理流程。在实际项目中,...

    android json 的生成和解析

    本篇文章将深入探讨Android中的JSON生成和解析。 首先,让我们了解JSON的基本结构。JSON是一种键值对的集合,可以是对象(由花括号{}包围)或数组(由方括号[]包围)。例如: ```json { "name": "John", "age": ...

    Go-go有序map用于json输出有序key的对象和后端有序循环map取值

    在该方法中,我们可以遍历有序map,按照key的顺序生成JSON格式的字符串。 ```go type OrderMap map[string]interface{} func (om OrderMap) MarshalJSON() ([]byte, error) { ordered := make([]struct { Key ...

    全国世界地图map-json

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Echarts中,JSON数据用于描述地图的地理信息,包括各个区域的边界、坐标等。 在这个项目中,JSON...

    Gson解析(List和Map)格式json数据 - CSDN博客1

    在处理JSON数据时,我们经常遇到两种常见的数据结构:列表(List)和映射(Map)。本文将详细讲解如何使用Gson解析这两种格式的JSON数据。 ### 1. 解析List格式的JSON数据 在Java中,我们通常使用`List`接口来存储...

    MFC,C++,C语言 json转换成std::map源码,无需编译,无需关心引用位置,直接引用即可使用

    在IT行业中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。C++作为一种强大的编程语言,虽然原生并不支持JSON,但可以通过各种库来实现...

    json 转换为map

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,通常用于在客户端和服务器之间传输数据。在Java中,将JSON转换为Map是...

    chinaMap.json

    echarts 地图json

    对象转换成JSON和Map

    - **JSON简介**:JSON是一种文本格式,易于人阅读和编写,同时也易于机器解析和生成。它被设计为在网络上传输数据,因为它具有紧凑的表示形式和良好的跨平台兼容性。 - **Java中的JSON转换**:在Java中,我们可以...

    JAVA-JSON工具转换类

    总的来说,`JAVA-JSON工具转换类`这个主题涵盖了JSON数据处理的核心部分,包括JSON的序列化和反序列化,以及数据类型的转换。通过`json-lib`和`ezmorph`这两个库,开发者可以轻松地在Java程序中处理JSON数据,而`...

    mapdata.json

    JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。`mapdata.json`通常包含地图的各种元素,如地理位置、路网信息、兴趣点(POI)、行政区划等,为地图渲染和地理分析提供基础数据。 ...

Global site tag (gtag.js) - Google Analytics