`
wuyaiswuya
  • 浏览: 22290 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用json-lib 解析json数据格式的字符串

阅读更多

项目中用到,写个demo方便copy

1、首先说明一点,json-lib 需要支持包

 

Json-lib requires (at least) the following dependencies in your classpath:

  • jakarta commons-lang 2.5
  • jakarta commons-beanutils 1.8.0
  • jakarta commons-collections 3.2.1
  • jakarta commons-logging 1.1.1
  • ezmorph 1.0.6

上述都可以在http://json-lib.sourceforge.net/ 下得到

 

解析第一种格式,因为前台是使用jstl,所以后台处理就全部转换成JavaBean了,方便使用。

其中JavaBean必须为public的才ok,否则会报找不到setter 和 getter 方法,比较纠结。

/**
 * java Bean
 * @author wuya
 *
 */
public class GgDw {
	private String dwbh;
	private String dwmc;

	public String getDwbh() {
		return dwbh;
	}

	public void setDwbh(String dwbh) {
		this.dwbh = dwbh;
	}

	public String getDwmc() {
		return dwmc;
	}

	public void setDwmc(String dwmc) {
		this.dwmc = dwmc;
	}

}

 testcase 这里可以不看,上篇有个拼接json数据格式的方法需要用到

public class DBTest extends TestCase {
	DBUtil db = new DBUtil();
	Connection con = null;
	Statement stmt = null;
	ResultSet rs = null;
	JsonUtil json = new JsonUtil();

	public void testGetConnect() throws SQLException {
		con = db.getConnect();
		stmt = con.createStatement();
		rs = stmt.executeQuery("select dwbh,dwmc from gg_dw where dwbh<5");
		String str = json.GetJsonByResultSet(rs, "result", 1);
		System.out.println(str);
		assertNotNull(str);
	}

	public void testJsonStringToBean() throws SQLException {
		con = db.getConnect();
		stmt = con.createStatement();
		rs = stmt.executeQuery("select dwbh,dwmc from gg_dw where dwbh<5");
//		String str = json.GetJsonByResultSet(rs, "result", 1);
		String str1 = json.GetJsonByResultSet(rs, "result", 0);
		System.out.println(str1);	
//		JsonLibParse.jsonStringToBeanMap(str);
		JsonLibParse.jsonStringToBeanArray(str1);
		
	}
}

 解析使用json-lib 注意 GgDw必须为public class

 * json格式的sring 解析 
	 * {result:[ {dwbh:"1",dwmc:"有限公司"}]}
	 * @param jsonString
	 */
	public static void jsonStringToBeanMap(String jsonString) {
		Map classMap = new HashMap();
		classMap.put("result", GgDw.class);
		Result result = (Result) JSONObject.toBean(JSONObject
				.fromObject(jsonString), Result.class, classMap);
		for (Object o : result.getResult()) {
			System.out.println(((GgDw) o).getDwbh());
			System.out.println(((GgDw) o).getDwmc());
		}
	}

 这个是转换包含Array形式的数据格式

//	{result:[
//	     	{id:0,data:["","1","有限公司1"]},
//	     	{id:1,data:["","2","有限公司2"]},
//	     	{id:2,data:["","3","有限公司3"]},
//	     	{id:3,data:["","4","有限公司4"]}
//	     ]}

	public static void jsonStringToBeanArray(String jsonString) {
		JSONObject js = JSONObject.fromObject(jsonString);
		JSONArray jsonArray = js.getJSONArray("result");
		for(int i=0;i<jsonArray.size();i++){
			JSONObject json = jsonArray.getJSONObject(i);
			System.out.println(jsonArray.getJSONObject(i).getString("id"));
			String temp = jsonArray.getJSONObject(i).getString("data");
			JSONArray js1 = JSONArray.fromObject(temp);
			for (Object string : js1.toArray()) {
				System.out.println(string);
			}
			
		}
	}

 项目中就可以简单使用了,完全满足项目使用要求。

分享到:
评论

相关推荐

    json-lib-2.4-jdk15.jar下载

    它可以将Java对象转换成JSON字符串,也可以将JSON字符串转换成Java对象。json-lib体积小、无依赖,性能表现也不错,适合在各种Java项目中使用。 json-lib的主要功能有: 1. 简单易用:json-lib的API简单易于使用,一般只...

    json-lib-2.2.3-jdk15.jar

    同样,也可以将JSON字符串解析为相应的Java对象。 2. **兼容性**:`-jdk15.jar`表明这个版本是为Java 1.5设计的,意味着它可以很好地运行在较旧的JVM上,这对于那些无法升级到更高版本Java的项目来说是非常有用的。...

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列的方法来将Java对象转换为JSON格式,以及将JSON字符串反序列化回Java对象。这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java...

    json-lib-2.4-jdk15.jar

    通过使用json-lib,开发者可以避免手动编写繁琐的JSON字符串拼接代码,提高开发效率和代码的可读性。 然而,随着技术的发展,虽然json-lib在当时是一个流行的JSON处理库,但现在已有其他更先进的替代品,如Gson、...

    使用json-lib将java对象转换成json字符串

    标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...

    json-lib-2.2.2-jdk15.jar

    例如,你可以将一个Java的HashMap转换成JSON格式,便于在网络上传输,或者将接收到的JSON字符串解析成Java对象,便于进一步处理。 ```java Map, String&gt; map = new HashMap(); map.put("key1", "value1"); map.put...

    json-lib应用所有jar

    JSON-lib是Java平台上的一个库,它提供了一种方便的方式来序列化和反序列化Java对象为JSON格式,以及从JSON字符串恢复Java对象。这个库在处理JSON数据时非常实用,特别是对于那些需要在服务器端和客户端之间进行数据...

    使用json-lib实现json与Java对象的互转

    要将 `Person` 对象转换为 JSON 字符串,可以使用 `JsonBeanSerializer`: ```java Person person = new Person(); person.setName("John"); person.setAge(30); JSONSerializer jsonSerializer = new ...

    json-lib-2.3.jar

    4. 如果需要将JSON字符串反序列化回Java对象,可以使用`JSONObject.toBean()`或`JSONArray.toList()`方法。 在项目中,`lib`目录下的json-lib-2.3.jar文件应当被正确地添加到构建路径或依赖管理中,以确保程序能够...

    json-lib-2.4-jdk15和全部依赖jar包

    1. **JSON转换**:`json-lib`提供了将Java对象如Map、List、自定义类等转换为JSON字符串的方法,同时也支持将JSON字符串解析为相应的Java对象。这在处理前后端交互或者存储和传输数据时非常有用。 2. **XML与JSON互...

    json-lib jar和所有依赖的jar

    1. 将Java对象(如:数组、集合、Map、自定义对象等)转换为JSON字符串。 2. 将JSON字符串反序列化回对应的Java对象。 3. 提供了多种数据类型转换的API,支持不同数据结构间的转换。 4. 支持XML与JSON之间的转换,...

    JSON-lib包json-lib-0.8.jar和json-lib-0.9.jar包

    `json-lib-0.8.jar`是JSON-lib的0.8版本,它可能包含基础的JSON转换功能,如将Java对象转换为JSON字符串,以及反向操作,即将JSON字符串解析回Java对象。此外,它可能还支持JSON数组和JSON对象的创建、读取和修改。...

    json-lib-2.4和相应的依赖包

    1. **JSON到Java对象转换**:通过JsonNode、JSONArray和JSONObject等类,json-lib可以解析JSON字符串并生成对应的Java对象。例如,一个JSON对象可以被映射为一个HashMap,而一个JSON数组则可以转换为ArrayList。 2....

    json-lib-2.3-jdk15开发包和所有依赖包

    `json-lib`是一个Java库,它提供了将Java对象转换为JSON格式,以及从JSON字符串反序列化回Java对象的功能。`json-lib-2.3-jdk15`是这个库的一个特定版本,兼容JDK 1.5,这意味着它可以在运行JDK 1.5或更高版本的Java...

    json-lib-2.4-jdk15.jar及其相关依赖

    在Java开发中,`json-lib`库提供了多种将Java对象序列化为JSON字符串的方法,包括: 1. **Java Bean到JSON**: 只需传入一个Java Bean对象,`json-lib`就能将其转换为JSON格式的字符串。 2. **Map到JSON**: 对于包含...

    json-lib-2.3-jdk15基础jar包合辑

    - **数据存储**:在持久化框架如Hibernate中,JSON Lib可以用于将Java对象转换成JSON字符串,方便存储到数据库的JSON字段。 - **前端交互**:后端开发中,通过JSON格式与前端JavaScript进行数据交互,JSON Lib简化了...

    json-lib所用的jar包

    综上所述,`json-lib`依赖于这些库来提供完整的JSON转换功能,从Java对象到JSON字符串的序列化,以及从JSON字符串到Java对象的反序列化。在实际开发中,通过这些库的配合,开发者可以轻松地在服务器和客户端之间传递...

    json-lib-2.4-jdk15及其依赖jar包

    这个库包含了处理JSON的多种功能,包括将Java对象转换为JSON字符串,以及将JSON文本解析回相应的Java对象。这对于开发人员来说是非常有用的,因为它允许他们在Java程序中轻松地序列化和反序列化数据。 在Java中,...

    json-lib.jar

    在Java中,处理JSON通常涉及两个主要任务:将Java对象转换为JSON字符串(序列化),以及将JSON字符串解析回Java对象(反序列化)。JSON-lib.jar提供了这样的功能,使得开发者能够方便地在Java对象和JSON格式之间进行...

    json-lib 2.4 的 jar 包

    - JSON格式验证:json-lib提供API来检查JSON字符串的合法性。 - JSON格式化:可以对JSON字符串进行美化输出,提高可读性。 - JSONPath支持:类似于XPath,JSONPath允许提取JSON文档中的特定数据。 5. **性能比较...

Global site tag (gtag.js) - Google Analytics