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;
}
}
分享到:
相关推荐
它基于JavaScript的一个子集,格式简洁且易于读写,同时也易于机器解析和生成。在Java中,将JSON字符串转换为Map或List是常见的操作,这在处理服务器返回的数据或者进行数据序列化时非常有用。 JSON字符串的结构...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析和生成,故在 Web 服务中广泛应用。 在 Java 中,我们可以使用多种库来生成 JSON 数据,其中最常用的是 ...
json工具类,json转为对象,json转map。对象转json。便于使用
Map和Json都是广泛使用的数据格式,但它们有着不同的应用场景。Map是许多编程语言(如Java、Python等)中的一个内置数据类型,用于存储键值对,而Json则是一种轻量级的数据交换格式,常用于Web服务的数据传输。本...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在ECharts地图中,JSON数据文件包含了地图的几何形状、属性信息等,如省份、城市的名字、经纬度坐标...
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在 ECharts 中,这样的 JSON 数据用于定义地图的形状和位置,使地图能够准确地反映出中国的地理特征...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本教程将深入讲解如何使用Java读取JSON文件,并将其内容转化为Map以便进行取值操作。 首先,我们...
"java转换xml、list、map和json" 本文主要讲述了Java中将xml、list、map和json之间的转换的相关知识点。 xml和map之间的转换 在Java中,xml和map之间的转换可以通过使用dom4j库来实现。dom4j是一个Java开源库,...
总之,要实现“读json文件自动生成jsonpath”,你需要理解JSON和JSONPath的基本概念,然后使用合适的库(如JsonPath)或自定义实现来处理JSON数据,生成对应的查询路径。`JsonPathLib.java`可能就是这样一个工具,...
总结一下,这个压缩包提供的是两个关键的Java工具类,它们能够帮助Android开发者快速地将Map和List对象转换为JSON字符串。通过理解和使用这些工具,可以提高代码的可读性和效率,简化数据处理流程。在实际项目中,...
本篇文章将深入探讨Android中的JSON生成和解析。 首先,让我们了解JSON的基本结构。JSON是一种键值对的集合,可以是对象(由花括号{}包围)或数组(由方括号[]包围)。例如: ```json { "name": "John", "age": ...
在该方法中,我们可以遍历有序map,按照key的顺序生成JSON格式的字符串。 ```go type OrderMap map[string]interface{} func (om OrderMap) MarshalJSON() ([]byte, error) { ordered := make([]struct { Key ...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Echarts中,JSON数据用于描述地图的地理信息,包括各个区域的边界、坐标等。 在这个项目中,JSON...
在处理JSON数据时,我们经常遇到两种常见的数据结构:列表(List)和映射(Map)。本文将详细讲解如何使用Gson解析这两种格式的JSON数据。 ### 1. 解析List格式的JSON数据 在Java中,我们通常使用`List`接口来存储...
在IT行业中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。C++作为一种强大的编程语言,虽然原生并不支持JSON,但可以通过各种库来实现...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,通常用于在客户端和服务器之间传输数据。在Java中,将JSON转换为Map是...
echarts 地图json
- **JSON简介**:JSON是一种文本格式,易于人阅读和编写,同时也易于机器解析和生成。它被设计为在网络上传输数据,因为它具有紧凑的表示形式和良好的跨平台兼容性。 - **Java中的JSON转换**:在Java中,我们可以...
总的来说,`JAVA-JSON工具转换类`这个主题涵盖了JSON数据处理的核心部分,包括JSON的序列化和反序列化,以及数据类型的转换。通过`json-lib`和`ezmorph`这两个库,开发者可以轻松地在Java程序中处理JSON数据,而`...
JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。`mapdata.json`通常包含地图的各种元素,如地理位置、路网信息、兴趣点(POI)、行政区划等,为地图渲染和地理分析提供基础数据。 ...