千家信息网

如何进行JSON与JAVA的数据转换

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本篇文章为大家展示了如何进行JSON与JAVA的数据转换,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。JSON-lib这个Java类包用于把bean,map和
千家信息网最后更新 2025年11月08日如何进行JSON与JAVA的数据转换

本篇文章为大家展示了如何进行JSON与JAVA的数据转换,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。

还要需要的第3方包:
org.apache.commons(3.2以上版本)
org.apache.oro
net.sf.ezmorph(ezmorph-1.0.4.jar)
nu.xom

1、List

boolean[] boolArray = new boolean[]{true,false,true};        JSONArray jsonArray1 = JSONArray.fromObject( boolArray );       System.out.println( jsonArray1 );        // prints [true,false,true]           List list = new ArrayList();        list.add( "first" );        list.add( "second" );        JSONArray jsonArray2 = JSONArray.fromObject( list );        System.out.println( jsonArray2 );       / prints ["first","second"]        JSONArray jsonArray3 = JSONArray.fromObject( "['json','is','easy']" );        System.out.println( jsonArray3 );        // prints ["json","is","easy"]         boolean[] boolArray = new boolean[]{true,false,true};      JSONArray jsonArray1 = JSONArray.fromObject( boolArray );      System.out.println( jsonArray1 );       // prints [true,false,true]          List list = new ArrayList();       list.add( "first" );       list.add( "second" );       JSONArray jsonArray2 = JSONArray.fromObject( list );       System.out.println( jsonArray2 );       // prints ["first","second"]       JSONArray jsonArray3 = JSONArray.fromObject( "['json','is','easy']" );       System.out.println( jsonArray3 );       // prints ["json","is","easy"]


2、Map

 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 );        //{"func":function(i){ return this.arr[i]; },"arr":["a","b"],"int":1,"name":"json","bool":true}     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 );      //{"func":function(i){ return this.arr[i]; },"arr":["a","b"],"int":1,"name":"json","bool":true}


3、BEAN

           JSONObject jsonObject = JSONObject.fromObject( new JsonBean() );          System.out.println( jsonObject );          //{"func1":function(i){ return this.options[i]; },"pojoId":1,"name":"json","options":["a","f"],"func2":function(i){ return this.options[i]; }}        JSONObject jsonObject = JSONObject.fromObject( new JsonBean() );     System.out.println( jsonObject );      //{"func1":function(i){ return this.options[i]; },"pojoId":1,"name":"json","options":["a","f"],"func2":function(i){ return this.options[i]; }}


4、BEANS

      List list = new ArrayList();            JsonBean2 jb1 = new JsonBean2();            jb1.setCol(1);            jb1.setRow(1);            jb1.setValue("xx");                        JsonBean2 jb2 = new JsonBean2();            jb2.setCol(2);            jb2.setRow(2);            jb2.setValue("");                         list.add(jb1);            list.add(jb2);                        JSONArray ja = JSONArray.fromObject(list);            System.out.println( ja.toString() );            //[{"value":"xx","row":1,"col":1},{"value":"","row":2,"col":2}]         List list = new ArrayList();          JsonBean2 jb1 = new JsonBean2();          jb1.setCol(1);          jb1.setRow(1);          jb1.setValue("xx");                    JsonBean2 jb2 = new JsonBean2();          jb2.setCol(2);          jb2.setRow(2);          jb2.setValue("");                              list.add(jb1);          list.add(jb2);                    JSONArray ja = JSONArray.fromObject(list);          System.out.println( ja.toString() );          //[{"value":"xx","row":1,"col":1},{"value":"","row":2,"col":2}]


5、String to bean

    String json = "{name=\"json\",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";          JSONObject jsonObject = JSONObject.fromString(json);          Object bean = JSONObject.toBean( jsonObject );            assertEquals( jsonObject.get( "name" ), PropertyUtils.getProperty( bean, "name" ) );            assertEquals( jsonObject.get( "bool" ), PropertyUtils.getProperty( bean, "bool" ) );            assertEquals( jsonObject.get( "int" ), PropertyUtils.getProperty( bean, "int" ) );            assertEquals( jsonObject.get( "double" ), PropertyUtils.getProperty( bean, "double" ) );            assertEquals( jsonObject.get( "func" ), PropertyUtils.getProperty( bean, "func" ) );            List expected = JSONArray.toList( jsonObject.getJSONArray( "array" ) );            assertEquals( expected, (List) PropertyUtils.getProperty( bean, "array" ) );       String json = "{name=\"json\",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";     JSONObject jsonObject = JSONObject.fromString(json);     Object bean = JSONObject.toBean( jsonObject );       assertEquals( jsonObject.get( "name" ), PropertyUtils.getProperty( bean, "name" ) );       assertEquals( jsonObject.get( "bool" ), PropertyUtils.getProperty( bean, "bool" ) );       assertEquals( jsonObject.get( "int" ), PropertyUtils.getProperty( bean, "int" ) );       assertEquals( jsonObject.get( "double" ), PropertyUtils.getProperty( bean, "double" ) );       assertEquals( jsonObject.get( "func" ), PropertyUtils.getProperty( bean, "func" ) );       List expected = JSONArray.toList( jsonObject.getJSONArray( "array" ) );       assertEquals( expected, (List) PropertyUtils.getProperty( bean, "array" ) );
  String json = "{\"value\":\"xx\",\"row\":1,\"col\":1}";         JSONObject jsonObject = JSONObject.fromString(json);      JsonBean2 bean = (JsonBean2) JSONObject.toBean( jsonObject, JsonBean2.class );             assertEquals( jsonObject.get( "col" ),new Integer( bean.getCol())  );             assertEquals( jsonObject.get( "row" ), new Integer( bean.getRow() ) );             assertEquals( jsonObject.get( "value" ), bean.getValue() );       String json = "{\"value\":\"xx\",\"row\":1,\"col\":1}";     JSONObject jsonObject = JSONObject.fromString(json);  JsonBean2 bean = (JsonBean2) JSONObject.toBean( jsonObject, JsonBean2.class );         assertEquals( jsonObject.get( "col" ),new Integer( bean.getCol())  );         assertEquals( jsonObject.get( "row" ), new Integer( bean.getRow() ) );         assertEquals( jsonObject.get( "value" ), bean.getValue() );

6 json to xml
1)

JSONObject json = new JSONObject( true );  String xml = XMLSerializer.write( json );
< o class="object" null="true">

2)

JSONObject json = JSONObject.fromObject("{\"name\":\"json\",\"bool\":true,\"int\":1}");  String xml = XMLSerializer.write( json );
< o class="object">    < name type="string">json< /name>    < bool type="boolean">true< /bool>    < int type="number">1< /int> < /o>    < o class="object">       < name type="string">json< /name>       < bool type="boolean">true< /bool>       < int type="number">1< /int>    < /o>

3)

JSONArray json = JSONArray.fromObject("[1,2,3]");  String xml = XMLSerializer.write( json );
< a class="array">    < e type="number">1< /e>    < e type="number">2< /e>    < e type="number">3< /e> < /a>

7 、xml to json

< a class="array">   < e type="function" params="i,j">       return matrix[i][j];    < /e> < /a>    < a class="array">      < e type="function" params="i,j">          return matrix[i][j];       < /e>    < /a>
JSONArray json = (JSONArray) XMLSerializer.read( xml );  System.out.println( json );  // prints [function(i,j){ return matrix[i][j]; }]

上述内容就是如何进行JSON与JAVA的数据转换,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

数据 内容 技能 知识 简明 简明扼要 就是 文章 更多 版本 篇文章 行业 资讯 资讯频道 频道 一亮 储备 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发学习哪个语言 数据库监控主机配置 广州合花妆互联网科技公司 医院管理系统数据库及源码 增值税连接邮箱服务器失败 软件开发项目小组口号 方舟手游有飞行器是什么服务器 江西省交通运输厅网络安全宣传 黑龙江互联网软件开发创新服务 搞软件开发的怎么发论文 数据库十六进制转字符串函数 绝地求生服务器正在维护中怎么弄 数据库安装后怎么设密码 提高访问速率的数据库产品 尖沙咀打卡软件开发 信息网络安全英文名词 西安工会网络安全 全国网络安全大赛kk 世纪互联邮件服务器地址 qq网络服务器怎么设置 宁波正规网络技术哪个好 软件开发1600万项目 网络安全政策工作任务措施 影响国家网络安全的案例 无锡dsp软件开发 数据库学生信息管理的数据流图 网络安全号码 数据库怎么复制多行数据 数据库版本管理工具 新乡市珍怡网络技术有限公司
0