`
旁边的手
  • 浏览: 67103 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSON数据格式化

    博客分类:
  • JSON
阅读更多
今天简单测试了下JSON格式输出数据,哇噻,那简直比XML快多了,而且更容易理解,那简直是超棒了,大家有时间也可以试试了。
首先我们建个普通的JavaBean-JsonTest.java
package com.json;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import net.sf.json.JSONArray;

//这里一个普通的javabean,里面有个参数为list集合的(当然也可以是map等类型),
//到时可以输入json格式的list集合数据
public class JsonTest {
	private String name;
	private String sex;
	private String bth;
	private char[] cs;
	private List list;
	private Map map;
	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 String getBth() {
		return bth;
	}
	public void setBth(String string) {
		this.bth = string;
	}
	public List getList() {
		return list;
	}
	public void setList(List list) {
		this.list = list;
	}
	public Map getMap() {
		return map;
	}
	public void setMap(Map map) {
		this.map = map;
	}
	public char[] getCs() {
		return cs;
	}
	public void setCs(char[] cs) {
		this.cs = cs;
	}
}

下面我们写个测试类,感觉下JSON数据格式输出的超棒之处吧…
//测试json数据格式输出
	public static void main(String[] args) {
        //格式化时间
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		//设置javabean值
		JsonTest test = new JsonTest();
		test.setName("admin");
		test.setSex("male");		
		test.setBth(format.format(new Date()));
		char [] cs = new char[]{'j','s','o','n'};
		test.setCs(cs);
		List list = new ArrayList();
		list.add("100");
		list.add("参数二");
		list.add("null");
		list.add("test");
		test.setList(list);
		Map map = new HashMap();
		map.put("name", "json");
		map.put("boolean", Boolean.TRUE);
		map.put("int", new Integer(1));
		map.put("arrays", new String[]{"j","s","o","n"});
		map.put("function", "function(i){ return this.arrays[i];}");
		test.setMap(map);
		
		//格式化javabean里的值
		JSONArray array = JSONArray.fromObject(test);
		System.out.println(array.toString());	}

输出打印结果:
[{"bth":"2008-08-26 22:46:05","cs":["j","s","o","n"],"list":["100","参数二",null,"test"],"map":{"int":1,"name":"json","boolean":true,"arrays":["j","s","o","n"],"function":function(i){ return this.arrays[i];}},"name":"admin","sex":"male"}]
呵呵,这样输出是不是特别棒呢…

下面给大家上传几个JSON用到的jar包:
json-lib-2.2.2-jdk15.jar
ezmorph-1.0.2.jar
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.0.jar
commons-logging-1.0.4.jar

  • JSON用到lib.rar (1 MB)
  • 描述: JSON用到的jar包: json-lib-2.2.2-jdk15.jar ezmorph-1.0.2.jar commons-beanutils-1.7.0.jar commons-collections-3.2.jar commons-lang-2.0.jar commons-logging-1.0.4.jar
  • 下载次数: 2577
11
3
分享到:
评论
7 楼 sermiter 2009-02-20  
  想学啊,看样子挺难。
6 楼 xingxing 2009-02-19  
json返回一个map,能取出map的大小吗
5 楼 旁边的手 2008-12-21  
value
gjs622520 写道

你有没有试过map的key不是String的情况,比如,key是Integer,value是Long,而转换后key变成了String类型,value变成了Integer,也许哪可以设置吧,不知你是否知道,我还在找。

你这样做,好像不匹配吧
4 楼 旁边的手 2008-12-21  
service(HttpServlet.java:803)
god3276 写道

大哥,我刚参加工作5天,感觉您的方法很好,就跟您学了做了一下,但就是运行不了呀!会出现错误! 再把你的运行一下也是相同的错误!! HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: An exception occurred processing JSP page /management.jsp at line 151 148:         test.setMap(map);   149:            150:         //格式化javabean里的值   151:         JSONArray array = JSONArray.fromObject(test);   152:         System.out.println(array.toString());     153: 154: %> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779) org.apache.jsp.management_jsp._jspService(management_jsp.java:217) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClass(ClassLoader.java:620) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1819) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1327) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206) java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) org.apache.jsp.management_jsp._jspService(management_jsp.java:208) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.

你这个是服务内部错误呀,你好好检查下你服务配置
3 楼 god3276 2008-12-20  
大哥,我刚参加工作5天,感觉您的方法很好,就跟您学了做了一下,但就是运行不了呀!会出现错误!
再把你的运行一下也是相同的错误!!

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /management.jsp at line 151

148:         test.setMap(map);  
149:           
150:         //格式化javabean里的值  
151:         JSONArray array = JSONArray.fromObject(test);  
152:         System.out.println(array.toString());    
153:
154: %>


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.management_jsp._jspService(management_jsp.java:217)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1819)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1327)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
org.apache.jsp.management_jsp._jspService(management_jsp.java:208)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.

2 楼 hksy 2008-11-08  
不知道大家有没有试过将字符串:[["dd"],["cc","dd"]]
转换成java字符串的时候变成了:"[["dd"],["cc","dd"]]"
1 楼 gjs622520 2008-10-14  
你有没有试过map的key不是String的情况,比如,key是Integer,value是Long,而转换后key变成了String类型,value变成了Integer,也许哪可以设置吧,不知你是否知道,我还在找。

相关推荐

    大文件JSON数据格式化工具与修改前后对比方法 迅速找出不同改动点

    标题提到的"大文件JSON数据格式化工具"是用来解决在处理大量JSON数据时的格式问题。这类工具通常具有以下功能: 1. **美化格式**:将原始的、一行到底的JSON字符串转换成易读的多行格式,每个键值对之间用缩进区分...

    json 数据格式化 小工具

    这款“JSON数据格式化小工具”是专为解决这个问题而设计的,它能将杂乱无章的JSON内容转换为规范、有层次的格式。不仅如此,此工具还支持对JavaScript对象和CSS内容的格式化,进一步拓宽了其应用范围。 对于...

    json数据格式化工具

    JSON(JavaScript Object Notation)是一种轻量级的数据...总之,JSON数据格式化工具是现代软件开发不可或缺的辅助工具,尤其在移动应用开发中,它可以帮助开发者更好地理解和处理JSON数据,优化工作流程,提高生产力。

    json数据格式化(editplus 格式化 Json 工具 )

    在开发过程中,除了EditPlus,还有其他很多工具可以用来格式化JSON数据,比如在线的JSON校验和格式化工具(如JSONLint)、IDE内置的格式化功能(如Visual Studio Code、IntelliJ IDEA等),以及命令行工具(如jq)。...

    JSON 数据格式化 排版 UI图像示意 便于阅读和理解JSON数据结构 和 数据验证

    在描述的"JSON数据格式化排版UI图像示意"中,我们谈论的是如何使JSON数据更加易读和理解。这通常涉及到以下几个方面: 1. **格式化**:JSON数据默认是以紧凑的形式存在,一行内可能包含多个键值对,这对于人类阅读...

    里面包含Chrome json格式化插件JSONView_v0.0.32.2.crx,以及离线json数据格式化工具jsonviewer

    **jsonviewer** 则是一个离线的JSON数据格式化工具,它允许用户在没有网络连接的情况下处理JSON文件。该工具通常作为一个桌面应用程序运行,提供类似的功能,如将复杂的JSON对象层次结构化展示,支持折叠/展开节点,...

    JSON数据格式化工具

    在实际开发中,JSON数据格式化工具对于前端开发者、后端开发者以及数据分析师来说都是非常重要的辅助工具。它们可以帮助开发者快速定位和修复API接口返回的数据问题,或者在调试过程中理解服务端返回的数据结构。...

    HiJson 64/32位 最后用的Json数据格式化工具

    标题中的“HiJson 64/32位 最后用的Json数据格式化工具”指出,这是一款专门针对JSON数据格式化的软件,适用于不同处理器架构的系统,包括32位和64位环境。JSON(JavaScript Object Notation)是一种轻量级的数据...

    JSON数据格式化.exe可执行工具

    JSON数据格式化.exe可执行工具就是针对这种数据格式专门设计的,用于帮助开发者更方便地查看、理解和处理JSON格式的数据。 该工具的主要功能可能包括: 1. **格式化显示**:将原始的、未经格式化的JSON字符串转换...

    json格式化工具win版

    在处理JSON数据时,有时候原始的未格式化的JSON字符串可能会非常混乱,不易于理解和调试。这时,我们就需要借助JSON格式化工具来对这些数据进行美化和整理。 "json格式化工具win版"指的是专为Windows操作系统设计的...

    Android 将网络返回的Json数据格式化

    本教程将详细介绍如何在Android中接收、格式化Json数据,并结合Retrofit网络请求框架进行高效的数据操作。 一、理解Json格式 Json是一种基于文本的数据格式,它以键值对的形式存储数据,支持数组和对象。例如: ```...

    json 数据格式化工具

    json数据格式化工具, json数据是我们经常会遇到的,但是讲他们格式化一下,是否会看的更清楚呢

    Json 数据格式化 jackson

    使用Jackson处理JSON数据有以下关键知识点: 1. **序列化(Serialization)**:将Java对象转换为JSON字符串的过程。使用`ObjectMapper`的`writeValueAsString()`方法可以轻松实现。例如: ```java ObjectMapper ...

    json数据在Html页面格式化显示

    在描述中提到的“采用光标事件格式化展示”,意味着在页面上,当用户通过鼠标光标选中或点击某部分JSON数据时,会以某种方式(如高亮、折叠展开等)进行格式化显示,以便于查看和对比接口文档。 要实现这样的功能,...

    delphi_json解析格式化源码

    当我们谈到“delphi_json解析格式化源码”,我们关注的是如何在Delphi环境中处理JSON数据,包括解析JSON字符串为程序可操作的对象,以及将这些对象格式化回JSON文本。 在Delphi中,处理JSON主要依赖于VCL库中的`...

    json数据格式化和查看工具

    `jsonView`是一款专门针对JSON数据设计的格式化和查看工具,对于开发者而言,它提供了一个直观且高效的方式来处理和理解JSON格式的数据。 首先,让我们深入了解一下JSON的基本结构。JSON由键值对构成,键必须用双...

    很好用的本地json解析格式化工具

    很好用的本地json解析格式化工具 本地解析 无安装 直接使用

    前端展示json数据,格式化,可折叠展开

    本主题将详细介绍如何在前端实现JSON数据的格式化展示,以及支持折叠和展开的功能。 首先,理解JSON的基本结构是至关重要的。JSON由键值对组成,键必须是字符串,用双引号包围,而值可以是各种类型,如字符串、数字...

Global site tag (gtag.js) - Google Analytics