- 浏览: 66479 次
- 性别:
- 来自: 北京
最新评论
-
创世雨天:
转换后getText就会是乱码 请问有解决办法吗?QQ4027 ...
EditText加入图片混编显示 -
logojimi:
楼主考虑了安装多种桌面,而且没有设置默认桌面的情况?
试试这行 ...
Android程序最小化 -
yuboxin5566:
这个东西可以具体点吗?我可以有你这个东东的全代码么?可以私聊Q ...
EditText加入图片混编显示 -
woaidousha:
那请问个问题,如果是想在listView下面加个expanda ...
ExpandableListView 怎么和其他组件相互整合布局 -
liutao6982:
厉害厉害。这一招都被你想出来啦。很好很强大。支持一下
EditText加入图片混编显示
使用JSON-LIB可以极大的简化JAVA对象转换成JSON对象所需进行的操作,更可以避免人工操作生成JSON对象字符串时带来的麻烦和误操作:
使用JSON-LIB,首先需要有几个支持的包:
http://json-lib.sourceforge.net下载json-lib-1.1-jdk15.jar
commons-lang.jar、commons-logging.jar,commons-beanutils.jar 这些包可在tomcat/comon/lib下找到
EZMorph 下载地址http://ezmorph.sourceforge.net
morph-1.0.1 下载地址:http://morph.sourceforge.net
使用的例子如下所示:
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JSONTest { public static void main(String[] args) { JSONTest j = new JSONTest(); j.ObjectList2json(); } public void ObjectList2json(){ Map map = new HashMap(); List jlist = new ArrayList(); JSONTestBean bean1 = new JSONTestBean("zhangbo","123123"); JSONTestBean bean2 = new JSONTestBean("lisi","65489"); Props props = new Props("127.0.0.1","8008"); jlist.add(bean1); jlist.add(bean2); map.put("Props", props); map.put("jsonObjectList", jlist); JSONArray jsonArray = JSONArray.fromObject(map); System.out.println(jsonArray); } public void arr2json() { boolean[] boolArray = new boolean[] { true, false, true }; JSONArray jsonArray = JSONArray.fromObject(boolArray); System.out.println(jsonArray); // prints [true,false,true] } public void list2json() { List list = new ArrayList(); list.add("first"); list.add("second"); JSONArray jsonArray = JSONArray.fromObject(list); System.out.println(jsonArray); // prints ["first","second"] } public void createJson() { JSONArray jsonArray = JSONArray.fromObject("['json','is','easy']"); System.out.println(jsonArray); // prints ["json","is","easy"] } public void map2json() { 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); System.out.println(json); // prints // ["name":"json","bool":true,"int":1,"arr":["a","b"],"func":function(i){ // return this.arr[i]; }] } public void bean2json() { JSONObject jsonObject = JSONObject.fromObject(new JSONTestBean("zhangbo","234234")); System.out.println(jsonObject); /* * prints * {"func1":function(i){ return this.options[i]; * },"pojoId":1,"name":"json","func2":function(i){ return * this.options[i]; }} */ } public void json2bean() { String json = "{name=\"json2\",func1:true,pojoId:1,func2:function(a){ return a; },options:['1','2']}"; // JSONObject jb = JSONObject.fromString(json); // JSONObject.toBean(jb, MyBean.class); System.out.println(); } }
其它两个测试实体Bean:
public class JSONTestBean { private String userName; private String password; public JSONTestBean() { } public JSONTestBean(String username, String password) { this.userName = username; this.password = password; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } }
public class Props { private String ip; private String port; public Props() { } public Props(String ip, String port) { this.ip = ip; this.port = port; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public String getPort() { return port; } public void setPort(String port) { this.port = port; } }
使用起来很方便,有了JSON-LIB的支持,可以使开发者轻松构建起基于JSON的AJAX应用程序。附加:关于使用JSON-LIB转换带有DATE类型的对象需要额外的一些设置。
JsonConfig cfg=new JsonConfig(); cfg.registerJsonValueProcessor(java.util.Date.class, new JsonValueProcessorImpl()); cfg.registerJsonValueProcessor(java.sql.Date.class, new JsonValueProcessorImpl()); JSONObject obj = JSONObject.fromObject(info,cfg); JsonValueProcessorImpl为实现了源代码中的接口JsonValueProcessor import java.text.SimpleDateFormat; import java.util.Date; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValueProcessor; public class JsonValueProcessorImpl implements JsonValueProcessor{ private String format="yyyy-MM-dd"; public JsonValueProcessorImpl(){ } public JsonValueProcessorImpl(String format){ this.format=format; } public Object processArrayValue(Object value, JsonConfig jsonConfig) { String[] obj={}; if(value instanceof Date[]){ SimpleDateFormat sf=new SimpleDateFormat(format); Date[] dates=(Date[])value; obj =new String[dates.length]; for (int i = 0; i < dates.length; i++) { obj[i]=sf.format(dates[i]); } } return obj; } public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { if(value instanceof Date){ String str=new SimpleDateFormat(format).format((Date)value); return str; } return value.toString(); } public String getFormat() { return format; } public void setFormat(String format) { this.format = format; } }
本文也只是实现了将DATE类型转换成yyyy-MM-dd的格式,各位可以自己测试一下。
发表评论
-
Android程序最小化
2011-03-25 14:30 2281/** * 最小化,回到桌面 * */ ... -
Android开发中如何定义和使用数组
2011-03-02 17:12 1670数组在Android开发中是如何定义和使用的呢? 在Andro ... -
EditText加入图片混编显示
2011-02-23 10:32 4060Android的WebView固然强大 ... -
Eclipse中Logcat中文解决办法,重装该ADT即可
2011-02-16 16:57 2574这个问题从一开始接触到Android开发就困扰我很久 ... -
Android 核心分析 之五 -----基本空间划分【转】
2011-01-18 14:23 805基本空间划分 Google给了我们一张系统架构图,在这张图上 ... -
Android核心分析之四 ---手机的软件形态【转】
2011-01-18 14:17 770手机的软件形态 上节我给出了手机的硬件树,本节将 ... -
Android是什么 之三-------手机之硬件形态【转】
2011-01-18 14:16 906Android是什么 之三-------手机之硬件形态 ... -
Android核心分析 之一--------分析方法论探讨之设计意图【转】
2011-01-18 14:09 814分析方法论探讨之设计 ... -
获取string.xml中的可变字符串
2011-01-14 15:47 20181、在string.xml中添加一个字符串,其中含有可变字符% ... -
在代码中获取在AndroidManifest.xml中配置的版本号
2011-01-14 15:42 1744在代码中的获取方法如下: String versionnam ... -
android2.1源码开发过程中的小技巧
2010-12-29 15:07 960归纳总结android2.1源码开发过程中的一些实用的小技巧。 ... -
升级Android SDK到2.3错误的解决办法
2010-12-29 15:01 975升级了2.3的朋友应该知道,升级到2.3后,Eclipse会报 ... -
Android如何解析Intent Filter (转)
2010-12-29 11:22 706匿名性质的运行时绑定使得理解Android如何解析一个隐式 ... -
Android应用程序中Manifest.java文件的介绍(转)
2010-12-29 11:13 1706每一个Android应用程序包含一个manifest文件——A ... -
Android使用外部字体
2010-12-23 11:31 1440有时候,系统自带的字体并不能满足我们特殊的需求,这时候就需要引 ... -
动态获取drawable中的图片
2010-12-22 15:45 13041.首先在drawable中创建一定格式命名的图片。 2.在 ... -
Android配置文件(.properties文件)的使用
2010-12-20 16:39 50031.首先在源代码根目录(src下)下创建一个名为netconf ... -
Android 中离线用户的灰色头像处理方法
2010-12-20 14:04 1104android的图片资源默认是静态的,也就是说是单实例的;如果 ... -
Android Intent Action 大全
2010-12-17 18:59 660String ADD_SHORTCUT_ACTION 动作 ... -
使用mina传输大字节数组
2010-12-17 15:47 2315使用mina传输超过2k以上的数据时(采用tcp方式,如果是U ...
相关推荐
标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...
`json-lib` 是一个 Java 库,它提供了将 JSON 格式的数据转换为 Java 对象,以及将 Java 对象转换为 JSON 格式数据的功能。在 Java 开发中,`json-lib` 是一个常用的 JSON 处理工具,尤其适用于需要处理复杂 JSON ...
1. 简单易用:json-lib的API简单易于使用,一般只需要一行或两行代码就可以完成Java对象和JSON的相互转换。 2. 支持对象图:可以将复杂的对象层次结构与JSON相互转换,支持List、Map、数组等类型。 3. 支持注解:支持@...
json-lib是一个Java库,它提供了一种方便的方式来序列化和反序列化Java对象为JSON格式,以及将JSON数据转换回Java对象。 json-lib-2.4-jdk15.jar是json-lib的一个特定版本,适用于JDK 1.5环境。这个版本的库包含了...
1. **易用性**:JSON-lib提供了简单直观的API,使得Java对象与JSON之间的转换变得简单。例如,可以使用`net.sf.json.JSONObject`来表示一个JSON对象,`net.sf.json.JSONArray`表示JSON数组。 2. **灵活性**:它支持...
JSON-lib是一个Java库,它提供了将Java对象转换为JSON表示以及从JSON文本反序列化回Java对象的功能。该库名为`json-lib-2.2.3-jdk15.jar`,特别针对Java 1.5版本进行了优化。 JSON-lib的主要特点和功能包括: 1. *...
json-lib-2.3.jar是这个库的一个版本,用于支持将Java对象转换成JSON格式和将JSON数据反序列化为Java对象。 标题中提到的"json-lib-2.3.jar"是json-lib库的一个具体实现,主要包含了一系列处理JSON的类和方法。这个...
1. **JSON序列化与反序列化**:json-lib允许将Java对象转换为JSON字符串,反之亦然。例如,你可以将一个Java的HashMap转换成JSON格式,便于在网络上传输,或者将接收到的JSON字符串解析成Java对象,便于进一步处理。...
JSON库如`json-lib`则提供了将Java对象转换为JSON格式和从JSON字符串反序列化为Java对象的功能。`json-lib-2.4-jdk15`是JSON库的一个特定版本,专为JDK 1.5设计,确保在该环境下能够正常运行。 `json-lib`库主要...
JSON库如json-lib-2.4是Java开发者在处理JSON数据时的重要工具,它提供了一系列API,使得JSON与Java对象之间的转换变得更加简单。本文将深入探讨json-lib-2.4及其在Java开发中的应用。 首先,json-lib-2.4是一个...
在文件列表中的"jsonlib需要jar包",这可能是指包含了`json-lib`库及其所有依赖的JAR文件。在实际项目中,将这些JAR文件添加到项目的类路径(classpath)中,就可以使用`json-lib`提供的功能,而无需通过Maven或其他...
在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列的方法来将Java对象转换为JSON格式,以及将JSON字符串反序列化回Java对象。这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java...
`json-lib`是一个Java库,它提供了一种将Java对象转换为JSON表示,并将JSON数据转换回等效Java对象的方法。`json-lib-2.4-jdk15.jar`是这个库的一个特定版本,适用于JDK 1.5环境。 在Java开发中,`json-lib`库提供...
JSON-lib是一个Java库,用于将Java对象转换为JSON(JavaScript Object Notation)格式,以及将JSON数据转换回Java对象。这个库提供了多种方法来处理JSON数据,使得在Java应用程序中与JSON交互变得更加简单。JSON是一...
`json-lib`是一个Java库,它提供了将Java对象转换为JSON格式,以及从JSON字符串反序列化回Java对象的功能。`json-lib-2.3-jdk15`是这个库的一个特定版本,兼容JDK 1.5,这意味着它可以在运行JDK 1.5或更高版本的Java...
JSON Lib是一个Java库,它提供了将Java对象转换为JSON格式,以及将JSON文本解析回等效Java对象的功能。这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java类等,使得在Java应用程序中处理JSON变得简单。 ...
`json-lib`是一个Java库,它提供了一种将Java对象转换为JSON格式,以及将JSON数据还原为Java对象的能力。在Web开发中,这个功能非常重要,因为服务器端处理的数据需要以某种形式传递到客户端,JSON由于其简洁性和...
`json-lib-2.4 jar`是JSON-Lib的一个版本,它是一个针对Java的开源项目,用于在Java对象和JSON数据之间进行转换。这个版本兼容JDK 15及更高版本,意味着它能够很好地运行在较新的Java环境中。这个jar包包含了一系列...
5. **自定义转换规则**:如果默认的转换规则不能满足需求,JSON-Lib允许开发人员自定义转换策略,以处理特殊类型的Java对象。 在实际开发中,JSON-Lib通常与其他Java Web框架结合使用,如Spring MVC,以实现RESTful...
例如,你可以创建一个Java对象,然后使用JSONObject将其转换为JSON: ```java Map, String> map = new HashMap(); map.put("name", "John"); map.put("age", "30"); JSONObject jsonObject = JSONObject.fromObject...