关于java中JSONArray、JSONObject、List、String之间的转换

    本人最近几个月才开始JAVA开发工作,以前一直做的BI开发,转变的过程都是很艰难的。

   新产品开发的过程中,由于新人,能力有限,遇到了N多困难,幸亏有关系很好的同事在旁边加油打气。有好几次我悄悄跟同事说,不行了,我坚持不下

去了,我就不是开发的料,同事每次都劝我开始都是难的,这段时间过去了你会发现其实没那么难。是啊,就去登泰山,站在山脚下我就被它的巍峨吓得望

而却步,那我怎么可能会登顶看到日出。总嘚努力了才有放弃的资格。

   于是就这样,坚持了几个月,现在虽然自己依然是个菜鸟,但是进步还是很大。可能已经爬到了泰山的脚背上。

   开发过程中很让人头疼的就是各种类型之间的转换,一开始真是蒙圈,后来用了几次好点了,赶紧把自己记得的写下来,怕以后忘了。

一、JASSONArray转为JSONObject

       JSONArray result_type = new JSONArray();

       StringBuffer cdsIdxType = new StringBuffer();

       cdsIdxType.append(" select id from table_type ");

       result_type = jdbcTemp.queryForJSONArray(cdsIdxType.toString());

      JSONObject jsonObject = (JSONObject) result_type.get(i);

二、JASONArray转为List

      JSONArray result_type = new JSONArray();


       StringBuffer cdsIdxType = new StringBuffer();


       cdsIdxType.append(" select id from table_type ");


       result_type = jdbcTemp.queryForJSONArray(cdsIdxType.toString());


       ArrayList list_type = new ArrayList();


       for (int i = 0; i < result_type.size(); i++) {


        JSONObject jsonObject = (JSONObject) result_type.get(i);


        list_type.add(jsonObject.get("id"));


       }

 

三、JSONArray转为String

      

       JSONArray result_type = new JSONArray();


       StringBuffer cdsIdxType = new StringBuffer();


        cdsIdxType.append(" select id from table_type ");


       result_type = jdbcTemp.queryForJSONArray(cdsIdxType.toString());


       String typeAll = "";


       ArrayList list_type = new ArrayList();


       for (int i = 0; i < result_type.size(); i++) {


        JSONObject jsonObject = (JSONObject) result_type.get(i);


        list_type.add(jsonObject.get("id"));
       
       }


       for(int j=0;j<list_type.size();j++){


        typeAll = typeAll + "'" + list_type.get(j) + "'" + ",";


       }


       typeAll = typeAll.substring(0, typeAll.length() -1);

四、String转换为ArrayList

     String tablecode = request.getParameter("tablecode");


      tablecode = tablecode.substring(1, tablecode.length()-1).replace("\"", "");


      String[] list = tablecode.split(",");


      ArrayList tables = new ArrayList();


      for(int i=0; i<list.length; i++){


       tables.add(list[i]);


      }

五.String转JSONObject

String jsonMese = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";

JSONObject  myJson = JSONObject.fromObject(jsonMese);

六.String转JSONArray

String jsonMessage = "[{'num':'成绩', '外语':88, '历史':65, '地理':99, 'object':{'aaa':'1111','bbb':'2222','cccc':'3333'}}," +           "{'num':'兴趣', '外语':28, '历史':45, '地理':19, 'object':{'aaa':'11a11','bbb':'2222','cccc':'3333'}}," +           "{'num':'爱好', '外语':48, '历史':62, '地理':39, 'object':{'aaa':'11c11','bbb':'2222','cccc':'3333'}}]";  

JSONArray myJsonArray = JSONArray.fromObject(jsonMessage);  

七.String转数组

String string = "a,b,c"; String [] stringArr= string.split(",");  //注意分隔符是需要转译

如果是"abc"这种字符串,就直接

String string = "abc" ; char [] stringArr = string.toCharArray(); //注意返回值是char数组 如果要返回byte数组就直接使用getBytes方法就ok了

String string = "abc" ; byte [] stringArr = string.getBytes();

八、数组转String

char[] data={a,b,c}; 

String s=new String(data); 

注:本文是通过自己的总结和总结他人经验得出来的结论,学疏才浅如果错误大家可以指出并改正。


     

 

posted @ 2017-12-07 15:23  快乐的小莲紫  阅读(66440)  评论(0编辑  收藏  举报