`
T240178168
  • 浏览: 361826 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java 方式的将 java 对象以及 list 或者 map 转化为 json 数据

    博客分类:
  • JS
阅读更多
JavajsonAjax.net

学会了在
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"},{"a

ge":28,"name":"zhang2","sex":"male"},{"age":38,"name":"zhang3","sex":"male"},{"ag

e":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","se

x":"male"},{"age":28,"name":"zhang2","sex":"male"},{"age":38,"name":"zhang3","sex"

:"male"},{"age":48,"name":"zhang4","sex":"male"}],"teacher":{"age":30,"name":"laosh

i","sex":"male"}}



}



分享到:
评论

相关推荐

    Java List或Map对象和json字符串数据的相互转化

    将java对象list或者map转json数据不需要第三方包,直接使用就可以了,如果你传入的数据不确定是map类型还是list类型,那么自己处理一下就可以了(判断下类型,传入参数改为object)。 如果是json数据转成java对象list...

    在Java 8中将List转换为Map对象方法

    主要介绍了在Java 8中将List转换为Map对象方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    JAVA对象转化为JSON

    可转化JAVA对象(bean,list,map,set)。如果要求返回的JSON对象有严格的要求此包不适用,不推荐下载了。

    List转换为List

    List转换为List&lt;Map&gt;, List转换为List&lt;Object&gt; list转化为 JsonArray ,list转换JsonArray

    Java和Json互转的工具类

    解析JSON字符串成一个MAP、list、object和JAVA的类等转化成JSON语句。包括JSON相关的JAR

    处理Java对象转Json字符串的功能

    接受对象转换为JSON数据格式并且作为字符串输出,map转换json,list转换json

    Java JSON与Object互转源代码

    高效的JSON与Object互转的工具源代码,如果JSON数据未按该工具规定的数据格式转化成对象,将转化成java.util.Map实例。 (比JSON官方的API更适用。支持对象之间的多级引用,支持Map, List等集合。不需要引用其它中间...

    jackson json 转 map 数值科学计数法的问题解决.docx

    将json转换为map之后,如果数值类型太多会在转换之后出现科学计数法的问题,经研究jackson源码、网上百度资料得知可以通过设置一些参数解决该问题

    Json转换利器Gson实例代码

    可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。 Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 (http://blog.csdn.net/lk_blog/article/details/7685169) Json转换利器Gson之实例二-Gson注解...

    json 解析包(源代码)

    高效的JSON与Object互转的工具源代码,如果JSON数据未按该工具规定的数据格式转化成对象,将转化成java.util.Map实例。(比JSON官方的API更适用。支持对象之间的多级引用,支持Map, List等集合。不需要引用其它中间...

    java JSON 类

    经过本人整理 Json 的六个常用到的工具类,可以转化 map list object 对象化为json 对象

    阿里巴巴(alibaba)fastjson -1.2.45.jar 包

    1.基本的序列化 String objJson =...2反序列化(反序列化就是把JSON格式的字符串转化为Java Bean对象) User user1 = JSON.parseObject(userJson, User.class); List&lt;Map&gt; list1 = JSON.parseArray(listJson, Map.class);

    Java面试宝典2020修订版V1.0.1.doc

    12、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 60 13、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类...

Global site tag (gtag.js) - Google Analytics