commons-beanutils-1.7.0.jar
commons-lang-2.1.jar
ezmorph-1.0.2.jar
json-lib-1.1-jdk15.jar
1. List集合转换成json代码
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray2 = JSONArray.fromObject( list );
2. Map集合转换成json代码
Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "a", "b" });
map.put("func", "function(i){ return this.arr[i]; }");
JSONObject json = JSONObject.fromObject(map);
3. Bean转换成json代码
JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
4. 数组转换成json代码
boolean[] boolArray = new boolean[] { true, false, true };
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
5. 一般数据转换成json代码
JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );
[color=red]response.getWriter().write(jsonArray2.toString());[/color]
<html>
<head>
<title>My JSP 'json.jsp' starting page</title>
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var txt = '{"employees":[' +
'{"firstName":"Bill","lastName":"Gates" },' +
'{"firstName":"George","lastName":"Bush" },' +
'{"firstName":"Thomas","lastName":"Carter" }]}';
var JSONObject= {
"name":"Bill Gates",
"street":"Fifth Avenue New York 666",
"age":56,
"phone":"555 1234567"};
var book = '{"hcz":[{"author":"hong","author1":"honglou"},{"author":"hong1","author1":"honglou1"}]}';
$("#btn").click(function(){
var dataObject = eval("("+txt+")");
alert(dataObject.employees[1].firstName);
});
$("#btn1").click(function(){
alert(JSONObject.name);
});
$("#btn2").click(function(){
var bookObject = eval("("+book+")");
alert(bookObject.hcz[1].author);
});
});
</script>
</head>
<body>
<input type="button" value="Button0" id="btn" />
<input type="button" value="Button1" id="btn1" />
<input type="button" value="Button2" id="btn2" />
</body>
</html>
package com.test;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
* JSON和JAVA的POJO的相互转换
*
* @author tanpingping
* @date 2012-5-15
*/
public final class JSONUtils {
/**
* 将String转换成JSON
*
* @param key
* @param value
* @return json格式的字符串
*/
public String stringToJson(String key, String value) {
JSONObject object = new JSONObject();
object.put(key, value);
return object.toString();
}
/**
* 将JSON转换成数组,其中valueClz为数组中存放的对象的Class
*
* @param json格式的字符串
* 如:[{'name':'李名','password':'10aVB','age':'15'}]
* @param valueClz
* 需要转换的Class对象 如:User
* @return valueClz对象的数组
*/
@SuppressWarnings("unchecked")
public Object jsonToArray(String json, Class valueClz) {
JSONArray jsonArray = JSONArray.fromObject(json);
return JSONArray.toArray(jsonArray, valueClz);
}
/**
* 将Collection转换成JSON
*
* @param object
* 需要对象的值转换
* @return
*/
public String collectionToJson(Object object) {
JSONArray jsonArray = JSONArray.fromObject(object);
return jsonArray.toString();
}
/**
* 将JSON转换成Collection,其中collectionClz为Collection具体子类的Class,
*
* @param json
* @param collectionClz
* 这个值没用到
* @param valueClz
* 为Collection中存放的对象的Class
* @return
*/
@SuppressWarnings("unchecked")
public Collection jsonToCollection(String json, Class collectionClz,
Class valueClz) {
JSONArray jsonArray = JSONArray.fromObject(json);
return JSONArray.toCollection(jsonArray, valueClz);
}
/**
* 将数组转换成JSON
*
* @param object
* 需要转换的数组
* @return
*/
public String arrayToJson(Object object) {
JSONArray jsonArray = JSONArray.fromObject(object);
return jsonArray.toString();
}
/**
* 将Map转换成JSON
*
* @param object
* @return
*/
public String mapToJson(Object object) {
JSONObject jsonObject = JSONObject.fromObject(object);
return jsonObject.toString();
}
/**
* 将JSON转换成Map
*
* @param keyArray
* 为Map的key
* @param json
* @param valueClz
* 为Map中value的Class
* @return Map对象
*/
@SuppressWarnings("unchecked")
public Map jsonToMap(Object[] keyArray, String json, Class valueClz) {
JSONObject jsonObject = JSONObject.fromObject(json);
Map classMap = new HashMap();
for (int i = 0; i < keyArray.length; i++) {
classMap.put(keyArray[i], valueClz);
}
return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);
}
/**
* 将POJO转换成JSON
*
* @param object
* 需要转换的对象
* @return
*/
public String beanToJson(Object bean) {
JSONObject jsonObject = JSONObject.fromObject(bean);
return jsonObject.toString();
}
/**
* 将JSON转换成POJO
*
* @param json
* @param beanClz
* 为POJO的Class
* @return
*/
public Object jsonToObject(String json, Class beanClz) {
return JSONObject.toBean(JSONObject.fromObject(json), beanClz);
}
/**
* 将JSON转换成String
*
* @param json
* @param key
* @return
*/
public String jsonToString(String json, String key) {
JSONObject jsonObject = JSONObject.fromObject(json);
return jsonObject.get(key).toString();
}
/**
* JAVA数组对象转换成JSON字符串
*
* @param list JAVA数组对象
* @return JSON字符串
* @throws MapperException
*/
public static String obj2Json(List<Class<?>> list) throws MapperException {
if (list == null || list.size() == 0) {
return "{}";
}
StringBuilder jsonString = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
if (i != 0) {
jsonString.append(",");
}
Class<?> cla = list.get(i);
jsonString.append(obj2Json(cla, false));
}
return jsonString.toString();
}
/**
* JAVA集合对象转换成JSON字符串
*
* @param map JAVA集合对象
* @return JSON字符串
* @throws MapperException
*/
public static String obj2Json(Map<String, Class<?>> map) throws MapperException {
if (map == null || map.size() == 0) {
return "{}";
}
StringBuilder jsonString = new StringBuilder();
Set<String> keySet = map.keySet();
boolean isFirst = true;
for (String key : keySet) {
if (isFirst) {
isFirst = false;
} else {
jsonString.append(",");
}
Class<?> cla = map.get(key);
jsonString.append(obj2Json(cla, false));
}
return jsonString.toString();
}
/**
* JAVA集合对象转换成JSON字符串
*
* @param map JAVA集合对象
* @return JSON字符串
* @throws MapperException
*/
@SuppressWarnings("unchecked")
public static String map2Json(Map<?,?> map) throws MapperException {
MapBean mapBean = new MapBean((Map<String, Object>)map);
return obj2Json(mapBean);
}
/**
* JAVA数组对象转换成JSON字符串
*
* @param list JAVA数组对象
* @return JSON字符串
* @throws MapperException
*/
public static String list2Json(List<?> list) throws MapperException {
ListBean listBean = new ListBean(list);
return obj2Json(listBean);
}
/**
* 重载objectToJsonStr方法
*
* @param obj 需要转换的JAVA对象
* @param format 是否格式化
* @return JSON字符串
* @throws MapperException
*/
public static String obj2Json(Object obj, boolean format) throws MapperException {
JSONValue jsonValue = JSONMapper.toJSON(obj);
String jsonStr = jsonValue.render(format);
return jsonStr;
}
/**
* JSON字符串转换成JAVA对象
*
* @param jsonStr JSON字符串
* @param cla JAVA对象
* @return 转换后的对象
*/
public static Object json2Obj(String jsonStr, Class<?> cla) throws Exception {
Object obj = null;
try {
JSONParser parser = new JSONParser(new StringReader(jsonStr));
JSONValue jsonValue = parser.nextValue();
if (jsonValue instanceof com.sdicons.json.model.JSONArray) {
List<Object> list = new ArrayList<Object>();
JSONArray jsonArray = (JSONArray) jsonValue;
for (int i = 0; i < jsonArray.size(); i++) {
JSONValue jsonObj = jsonArray.get(i);
Object javaObj = JSONMapper.toJava(jsonObj, cla);
list.add(javaObj);
}
obj = list;
} else if (jsonValue instanceof com.sdicons.json.model.JSONObject) {
obj = JSONMapper.toJava(jsonValue, cla);
} else {
obj = jsonValue;
}
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
}
分享到:
相关推荐
### JSON入门基础教程:理解与应用 #### 一、JSON概览 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON是基于JavaScript的一个子集,它使用了...
通过学习JSON的基本知识,包括其结构、数据类型以及与JavaScript对象的转换,你可以更好地理解和处理网络通信中的数据,从而在Web开发中更加得心应手。无论是在后端服务器与前端页面间传递数据,还是在不同的应用...
### JSON学习笔记:深入理解与应用 ...通过本篇学习笔记,我们深入了解了JSON的基本概念、序列化与反序列化的方法,以及在Web服务中使用JSON的实际案例。这将有助于开发者更好地掌握JSON技术,提升Web开发能力。
以下是一些关于JSON的基础知识和入门要点: 1. **JSON的结构**: JSON主要由两种基本结构组成: - 对象(Object):以花括号 `{}` 包裹,内部由一系列键值对(Key-Value)构成,键和值之间用冒号 `:` 分隔,键值...
在本教程中,我们将深入探讨JSON的基础知识,帮助你轻松入门。 **一、JSON的基本结构** JSON主要由对象(Object)和数组(Array)两种基本结构构成,它们都是键值对的集合。 1. **对象**: 对象在JSON中用花括号 `...
### JSON初学入门教程知识点详解 #### 一、JSON简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于Web应用程序中进行数据传输。它以文本形式存储,具有简单易读的特点,并且能被...
在本教程中,我们将深入探讨JSON的基础知识、语法以及在实际开发中的应用。 ### JSON基础 1. **数据结构**:JSON支持两种基本的数据结构——对象和数组。对象是键值对的集合,用花括号 `{}` 包裹;数组是有序元素...
JSON的基本语法简单且易于理解。数据在JSON中以键值对的形式呈现,通过大括号{}来创建一个对象。例如: ```json {"name": "shure", "age": 22} ``` 一个JSON对象可以包含多个键值对,键(属性名)必须是字符串...
在本压缩包中的“json入门博客资料”中,你可以找到一系列关于JSON的基础知识和在VS(Visual Studio)环境下如何进行开发的教程。 JSON是一种独立的语言无关的数据格式,但它与JavaScript语法高度相似。一个JSON...
总结,JSON作为一种轻量级的数据格式,其创建和解析是Web开发中的基础技能。理解JSON的基本结构,学会在不同语言中创建和解析JSON,以及了解相关扩展如JSON Schema、JSONP和JSON-LD,都将对提升你的Web开发能力...
总的来说,了解JSON和JSONL格式,以及它们之间的转换方法,是现代数据处理和分析工作中的基本技能。无论是开发Web应用,还是进行深度学习和自然语言处理研究,熟悉这些格式都能极大地提升工作效率。通过这次转换,...
“PB解析json,可解析树立菜单”说明PB不仅能够解析基本的JSON对象,还能够处理嵌套结构,例如包含层次关系的数据,这在构建如树形菜单等复杂用户界面时非常有用。“也完美可解析后将结果存到数据源”则强调了PB在...
1. **JSON基本结构**:JSON数据由键值对组成,键用引号括起来,后跟冒号,值与键之间用逗号分隔,数据由大括号{}包围。数组则由方括号[]包围。 2. **JSONView的使用**:安装JSONView扩展后,当浏览器加载到JSON格式...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被...如果你是初学者,建议从官方文档或在线教程开始,逐步掌握JSON解析的核心知识和技巧。同时,不断实践和应用,以提升对JSON和相关库的掌握程度。
这些文档通常会涵盖基础概念、语法特性、使用示例、常见问题及解决方案等内容,帮助初学者快速入门并逐步提升技能。例如,`json.pdf`可能包含了JSON的结构介绍、数据类型、编码规则、解析和生成的方法,以及在AJAX和...
总结来说,Java服务端生成JSON涉及的主要知识点包括: 1. JSON数据格式的理解及其在数据交换中的作用。 2. 使用Gson或FastJson库进行JSON序列化和反序列化。 3. 结合HTTP服务器框架处理JSON响应。 4. 调试和测试JSON...
以下是一些关于C++中JSON解析的重要知识点: 1. **JSON格式**:JSON格式基于JavaScript语法,但它是独立于语言的。基本结构包括对象(键值对的集合,用花括号{}包围)和数组(有序元素列表,用方括号[]包围)。值...
2. **JSON数据结构**:理解JSON的基本数据类型,如对象(键值对)、数组、字符串、数字、布尔值和null。你需要知道如何表示和解析这些结构。 3. **json-c库**:学习`json-c`库提供的API,包括解析JSON字符串到C数据...
1. JSON的基础语法:了解JSON对象、数组、字符串、数字、布尔值、null等基本数据结构。 2. 在JavaScript中使用JSON:解释如何在JavaScript中序列化(将JavaScript对象转换成JSON字符串)和反序列化(将JSON字符串...
理解这些基本结构是解析和创建JSON的关键。 3. JSON API交互:Android应用通常通过HTTP请求与服务器进行通信,如使用`HttpURLConnection`、OkHttp或Retrofit等库。接收到的服务器响应通常是JSON格式,需要解析后...