string json 相互转换

来源:互联网 发布:sp版羽毛球拍淘宝店 编辑:程序博客网 时间:2024/05/20 01:12

[java] view plaincopyimport java.lang.reflect.Field;  import java.util.List;  /**  * List<String> 转换成'',格式的字符串输出  * @author Administrator  *  */  public class ToStringUtils {            /**      * Object To json String      *       * @param obj      *       * @return json String      */      public static String objToJsonString(Object obj) {                     // 初始化返回值          String json = "str_empty";                 if (obj == null) {              return json;          }                 StringBuilder buff = new StringBuilder();          Field[] fields = obj.getClass().getFields();          try {              buff.append("[");              buff.append("{");              int i = 0;              for (Field field : fields) {                  if (i != 0) {                      buff.append(",");                  }                  buff.append(field.getName());                  buff.append(":");                  buff.append("\"");                  buff.append(field.get(obj) == null ? "" : field.get(obj));                  buff.append("\"");                  i++;              }              buff.append("}");              buff.append("]");              json = buff.toString();          } catch (Exception e) {              throw new RuntimeException("cause:" + e.toString());          }          return json;      }            public static  String listToString(List ss) {          StringBuffer s = new StringBuffer("");          if (null != ss) {              String[] str = new String[ss.size()];              for (int i=0; i<ss.size(); i++){                  str[i] = ss.get(i).toString();              }              arrayToString(str);              s.append(arrayToString(str));          }          return s.toString();      }     /**      * 把数组转换成'',格式的字符串输出      * @param ss      * @return      */      public static String arrayToString(String[] ss){          StringBuffer s = new StringBuffer("");          if(null != ss){              for(int i=0;i<ss.length-1;i++){                  s.append("'")                   .append(ss[i])                   .append("'")                   .append(",");              }              if(ss.length>0){                  s.append("'").append(ss[ss.length-1]).append("'");              }          }          return s.toString();      }      /**      *  Convert an array of strings to one string.      *  Put the 'separator' string between each element.      * @param a      * @param separator      * @return      */      public static String arrayToString(String[] a, String separator) {          StringBuffer result = new StringBuffer();          if(a==null){              return "";          }          if (a.length > 0) {              result.append(a[0]);              for (int i=1; i<a.length; i++) {                  result.append(separator);                  result.append(a[i]);              }          }          return result.toString();      }        }  

将String转化为JSONObject,这里有定义String的格式。JSON是以key/value的形式存在的,key是Strng类型的,value的类型可以是一个数组,可以是一个字符串,可以是一个数值,也可以是一个布尔值,甚至可以是一个JSON对象

 

String str = "{"

         +"\"日期\" : \"2011-06-06\","

         +  "\"Like\" : {"+  "\"Name\" : \"加内特\","+ "\"Height\" : \"2.11cm\","+   "\"Age\" : 35"+ "},"

         +  "\"LikeList\":" + "{\"List\": " +   "["+   //这里也是JSONObject                    "{"+   "\"Name\" : \"Rose\","+   "\"Height\" : \"190cm\","+    "\"Age\" : 23"+  "},"+                     "{"+  "\"Name\" : \"科比\","+   "\"Height\" : \"198cm\","+    "\"Age\" : 33"+   "}"+ 

             "]"+ "}"

         +   "}";  

        try {               JSONObject dataJson = new JSONObject(str);                  Log.d(TAG, dataJson.getString("日期"));                               JSONObject nbaJson = dataJson.getJSONObject("Like");                             Log.d(TAG, nbaJson.getString("Name"));                  Log.d(TAG, nbaJson.getString("Height"));                  Log.d(TAG, nbaJson.get("Age").toString());                    JSONObject listJson = dataJson.getJSONObject("LikeList");             JSONArray arrayJson = listJson.getJSONArray("List");                             for(int i=0;i<arrayJson.length();i++) {                  JSONObject tempJson = arrayJson.optJSONObject(i);                  Log.d(TAG, tempJson.getString("Name"));                  Log.d(TAG, tempJson.getString("Height"));                  Log.d(TAG, tempJson.getString("Age").toString());                  }         } catch (JSONException e) {              System.out.println("Something wrong...");               e.printStackTrace();           }       }   }






0 0
原创粉丝点击