`
cleaneyes
  • 浏览: 343458 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

阅读更多

http://shuaigg-babysky.iteye.com/blog/354516

学会了在j2ee中使用ajax后,有时候从服务器返回客户端的数据是对象,自己手动拼凑
json字符串容易出错,通过谷歌知道 了json-lib这个类库,方便的支持java中对象到json字符串的转化。
    看source-forge的json-lib介绍说,需要
jakarta commons-lang 2.4
jakarta commons-beanutils 1.7.0
jakarta commons-collections 3.2
jakarta commons-logging 1.1.1
ezmorph 1.0.6

    这些jar包的支持,下载下来试了一把,挺好用的,写出来,与大家分享。
代码如下:

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 Test {
public static void main(String[] args) {
//当是对象的时候
Student student = new Student();
student.setAge(18);
student.setName("zhangsan");
student.setSex("male");
JSONObject jsonObject = JSONObject.fromObject(student);
System.out.println(jsonObject);//输出 {"age":18,"name":"zhangsan","sex":"male"}
//当是数组或list的时候
Student[] stus = new Student[5];
List<Student> stuList = new ArrayList<Student>();
for (int i = 0; i < stus.length; i++) {
stus[i] = new Student();
stus[i].setAge(i*10+8);
stus[i].setName("zhang"+i);
stus[i].setSex("male");
//添加到list,一会儿用
stuList.add(stus[i]);
}
JSONArray jsonArray = JSONArray.fromObject(stus);
System.out.println(jsonArray);// 和下面打印的结果相同
//结果:[{"age":8,"name":"zhang0","sex":"male"}, {"age":18,"name":"zhang1","sex":"male"},{"age":28,"name":"zhang2","sex":"male"},{"age":38,"name":"zhang3","sex":"male"},{"age":48,"name":"zhang4","sex":"male"}]
JSONArray jsonArrayFromList = JSONArray.fromObject(stuList);
System.out.println(jsonArrayFromList);// 和上面打印的结果相同
//当既有对象又有数组的时候
Map<String,Object> map = new HashMap<String,Object>();
Teacher teacher = new Teacher();
teacher.setAge(30);
teacher.setName("laoshi");
teacher.setSex("male");
map.put("teacher", teacher);
map.put("student", stuList);
JSONObject jsonObjectFromMap = JSONObject.fromObject(map);
System.out.println(jsonObjectFromMap);
//结果:
//{"student":[{"age":8,"name":"zhang0","sex":"male"},{"age":18,"name":"zhang1","sex":"male"},{"age":28,"name":"zhang2","sex":"male"},{"age":38,"name":"zhang3","sex":"male"},{"age":48,"name":"zhang4","sex":"male"}],"teacher":{"age":30,"name":"laoshi","sex":"male"}}
}
}

 


分享到:
评论

相关推荐

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

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

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

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

    json-lib-2.4-jdk15.jar下载

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

    json-lib-2.4-jdk15.jar

    3. **JSON到Java对象的反序列化**:反之,它也提供了将JSON字符串转化为Java对象的功能,例如`JSONObject.toBean()`和`JSONArray.toList()`方法,能够将JSON数据映射到Java对象或列表。 4. **XML和JSON之间的转换**...

    json-lib应用所有jar

    同时,也可以将JSON字符串解析成对应的Java对象。 3. **性能优化**:JSON-lib针对性能进行了优化,可以在处理大量数据时保持良好的效率。 4. **兼容性**:JSON-lib兼容Java SE和Java EE环境,可以方便地在Web应用...

    json-lib-2.2.3-jdk15.jar

    3. 序列化和反序列化:通过`fromObject()`和`toObject()`方法将Java对象序列化为JSON字符串,或从JSON字符串反序列化回Java对象。 4. 处理复杂结构:对于包含嵌套对象和数组的复杂结构,JSON-lib也能轻松应对,只需...

    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.3.jar

    这个方法使得开发者能够方便地将复杂的Java对象结构转化为易于理解的JSON字符串。 另一方面,`JsonArray.fromObject()`方法则是将Java集合(如List)转换为JSON数组的工具。特别是对于`List, String&gt;&gt;`这样的数据...

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

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

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

    4. **生成JSON**:使用`toString()`或`toJSONString()`方法将Java对象转换为JSON字符串,如`jsonObject.toString()`。 5. **处理复杂类型**:对于复杂的Java对象,如自定义类,可以使用`JSONSerializer`进行序列化...

    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 jar和所有依赖的jar

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

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

    3. **反序列化**: 同样,`json-lib`也提供了反序列化功能,可以将JSON字符串转换回Java对象。例如: ```java String jsonString = "{\"name\":\"张三\",\"age\":30}"; Person person = (Person) JSONObject.toBean...

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

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

    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-2.3-jdk15开发包和所有依赖包

    例如,你可以将Java Map转换为JSON对象,或者将JSON字符串解析成一个可操作的对象。 2. **JSON数组的处理**:`net.sf.json.JSONArray`类允许你处理JSON数组,可以将Java List转换为JSON数组,或者从JSON文本反序列...

    json-lib所用的jar包

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

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

    如果你接收到一个JSON字符串,你可以使用`JSONObject.toBean()`或`JSONArray.toList()`方法将它转换回相应的Java对象,如HashMap、ArrayList或其他自定义类的实例。 3. **处理数组和集合**:JSON-Lib支持将Java的...

    json-lib-2.4 jar 程序文件

    这个jar包包含了一系列类和方法,允许开发者方便地将Java对象序列化为JSON字符串,或者从JSON字符串反序列化为Java对象。 在使用`json-lib-2.4 jar`之前,需要将其添加到项目的类路径中。这通常通过在构建工具(如...

    json-lib.jar

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

Global site tag (gtag.js) - Google Analytics