如何进行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的数据转换,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


分享文章:如何进行JSON与JAVA的数据转换
网址分享:http://azwzsj.com/article/ieipgd.html