1 1.String转JSONObject 2 3 (1)json-lib(即net.sf.json.JSONObject) 4 5 String jsonMessage = “{“语文”:“88”,“数学”:“78”,“计算机”:“99”}”; 6 7 JSONObject myJson = JSONObject.fromObject(jsonMessage); 8 9 (2).用阿里巴巴的fastjson的jar包 10 11 String str = “{“baid”:null,“32d3:”:“null”,433:“0x32”,032:“ju9fw”}”; 12 com.alibaba.fastjson.JSONObject jm = com.alibaba.fastjson.JSON.parseObject(str); 13 14 2.String转JSONArray 15 16 String jsonMessage = “[{‘num’:‘成绩’, ‘外语’:88, ‘历史’:65, ‘地理’:99, ‘object’:{‘aaa’:‘1111’,‘bbb’:‘2222’,‘cccc’:‘3333’}},” + 17 “{‘num’:‘兴趣’, ‘外语’:28, ‘历史’:45, ‘地理’:19, ‘object’:{‘aaa’:‘11a11’,‘bbb’:‘2222’,‘cccc’:‘3333’}},” + 18 “{‘num’:‘爱好’, ‘外语’:48, ‘历史’:62, ‘地理’:39, ‘object’:{‘aaa’:‘11c11’,‘bbb’:‘2222’,‘cccc’:‘3333’}}]”; 19 JSONArray myJsonArray = JSONArray.fromObject(jsonMessage); 20 System.out.println(myJsonArray); 21 22 3.String转Map 23 24 (1)json-lib(即net.sf.json.JSONObject) 25 26 String jsonMessage = “{“语文”:“88”,“数学”:“78”,“计算机”:“99”}”; 27 28 JSONObject myJson = JSONObject.fromObject(jsonMessage); 29 30 Map m = myJson; 31 32 (2)用阿里巴巴的fastjson的jar包 33 34 String str = “{“baid”:null,“32d3:”:“null”,433:“0x32”,032:“ju9fw”}”; 35 Map mapTypes = com.alibaba.fastjson.JSON.parseObject(str); 36 37 (3) (需要引入jackjson的core、databind、annotations三个jar包 ) 38 39 String json = “{“PayPal key2”:“PayPal value2”,“PayPal key1”:“PayPal value1”,“PayPal key3”:“PayPalvalue3”}”;
40 41 ObjectMapper mapper = new ObjectMapper();
42 Map<String,Object> m = mapper.readValue(json, Map.class);
43 44 (4)(特殊格式的String) 45 46 String a =“{se=2016, format=xml, at=en co=3}”; 47 48 a = a.substring(1, a.length()-1); 49 Map docType = new HashMap();
50 Java.util.StringTokenizer items;
51 for(StringTokenizer entrys = new StringTokenizer(a, “, “);entrys.hasMoreTokens();
52 docType.put(items.nextToken(), items.hasMoreTokens() ? ((Object) (items.nextToken())) : null)){
53 items = new StringTokenizer(entrys.nextToken(), “=”);
54 } 55 56 (5)Gson 57 Map map = new Gson().fromJson(jsonStr,Map.class); 58 59
60 61 4.JSONObject、JSONArray,Map转String 62 63 JSONObject——String: 64 65 System.out.println(myJsonObject);//可直接输出JSONObject的内容 66 67 myJsonObject.toString(); 68 69 阿里巴巴fastjson: 70 71 String str = JSON.toJSONString(obj,SerializerFeature.BrowserCompatible); 72 73 JSONArray——String: 74 75 System.out.println(myJsonArray);//可直接输出myJsonArray的内容 76 77 myJsonArray.toString(); 78 79 Map——String: 80 81 System.out.println(map);//可直接输出map的内容 82 83 map.toString(); 84 85
86 87 5.JSONObject转JSONArray 88 89
90 91 6.JSONObject转Map 92 93 JSONObject myJson = JSONObject.fromObject(jsonString); 94 95 Map m = myJson; 96 97
98 99 7.JSONArray转JSONObject 100 101 for(int i=0 ; i < myJsonArray.length() ;i++){ 102 //获取每一个JsonObject对象 103 JSONObject myjObject = myJsonArray.getJSONObject(i); 104 105 } 106 107 8.JSONArray转Map 108 109 先jsonArray先循环取出jsonObject,在转成Map 110 111
112 113 9.Map转JSONObject 114 115 (1)json-lib(即net.sf.json.JSONObject) 116 JSONObject json = JSONObject.fromObject( map );
117 或 118 String jsonString = JSON.toJSONString(map,SerializerFeature.WriteMapNullValue,SerializerFeature.WriteNullStringAsEmpty); 119 120 (2)alibaba的fastjson 121 JSONObject json = JSON.parseObject(str); 122 123
124 125 Map转json格式的String 126 127 JSON.toJSONString(map, SerializerFeature.BrowserCompatible).replace(”\u”, “\u”); 128 129 //需要引入alibaba的fastjson包 130 131
132 133 10.Map转JSONArray 134 135 JSONArray.fromObject(map); 136 137 11.List转JSONArray 138 JSONArray jsonArray2 = JSONArray.fromObject( list );
139 140 fastjson:List转JSONArray 141 142 (1)List<Object> list1 = new ArrayList<Object>(); 143 list1.add(“false”); 144 list1.add(true); 145 list1.add(null); 146 list1.add(0x13e); 147 list1.add(0123); 148 JSONArray array1 = JSONArray.parseArray(JSON.toJSONString(list1)); 149 150 (2)JSONArray jsonArray = new JSONArray(list1) ; 151 152 12.JSONArray转List 153 154 List<Map<String,Object>> mapListJson = (List)jsonArray; 155 156 或 157 158 public static List<Map<String, Object>> jsonArrayToList(JSONArray ja){
159 return JSONArray.toJavaObject(ja, List.class);
160 } 161 162 jsonArray转实体类list: 163 164 Student[] ss =(Student[])net.sf.json.JSONArray.toArray(jsonArray,Student.class); 165 166
167 168 fastjson:JSONArray转List 169 170 JSONArray arr = new JSONArray(); 171 arr.add(0,“13”); 172 arr.add(1,“jo”); 173 arr.add(2,“kpo”); 174 List<String> list = JSONObject.parseArray(array.toJSONString(), String.class); 175 176
177 178 JSONArray array = new JSONArray(); 179 180 List<T> list = JSONObject.parseArray(array.toJSONString(), T.class); 181 182 13.String转数组 183 184 String string = “a,b,c”; 185 String [] stringArr= string.split(“,”); //注意分隔符是需要转译滴… 186 如果是”abc”这种字符串,就直接 187 String string = “abc” ; 188 char [] stringArr = string.toCharArray(); //注意返回值是char数组 189 如果要返回byte数组就直接使用getBytes方法就ok了~~ 190 String string = “abc” ; 191 byte [] stringArr = string.getBytes(); 192 193 String转List 194 195 String str = “”; 196 197 List<T> list = JSONObject.parseArray(str, T.class); 198 199 或net.sf.json 200 201 String arrayStr=“[{“name”:“JSON”,“age”:“24”,“address”:“北京市西城区”},{“name”:“JSON2”,“age”:“24”,“address”:“北京市西城区”}]”; 202 //转化为list 203 List<Student> list2=(List<Student>)net.sf.json.JSONArray.toList(net.sf.json.JSONArray.fromObject(arrayStr), Student.class); 204 205
206 207 数组转String 208 209 char[] data={a,b,c}; 210 String s=new String(data); 211 212
213 214 14.java实体类的List转String 215 216 JSON与String关系比较近,而JSON的子类JSONArray又和List关系比较近,故把JSONArray做中介过渡: 217 218 import com.alibaba.fastjson.JSONArray; 219 220 public String list2str(List<?> list){ 221 JSONArray jsonArray = (JSONArray) JSONArray.toJSON(list); //List转JSONArray 222 System.out.println(jsonArray.toString()); 223 return jsonArray.toJSONString(); //JSONArray比较容易转String 224 } 225 226 15.Array、List、Set之间转换: 227 228 String[] arr = new String[]{“Tom”, “Bob”, “Jane”}; 229 //Array转List 230 List<String> arr2list = Arrays.asList(arr); 231 //Array转Set 232 Set<String> arr2set = new HashSet<String>(Arrays.asList(arr)); 233 //List转Array 234 Object[] list2arr = arr2list.toArray(); 235 //List转Set 236 Set<String> list2set = new HashSet<>(arr2list); 237 //Set转Array 238 Object[] set2arr = list2set.toArray(); 239 //Set转List 240 List<String> set2list = new ArrayList<>(arr2set); 241 List<String> list = new ArrayList<String>(new HashSet<String>());// 242 243 16.java对象转JsonObject 244 245 Student stu=new Student(); 246 stu.setName(“JSON”); 247 stu.setAge(“23”); 248 stu.setAddress(“北京市西城区”); 249 250 net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(stu); 251 252 或alibaba的fastjson: 253 254 JSONObject json = (JSONObject) JSONObject.toJSON(stu); 255 256 17.java对象转jsonArray 257 258 Student stu=new Student(); 259 stu.setName(“JSON”); 260 stu.setAge(“23”); 261 stu.setAddress(“北京市西城区”); 262 263 net.sf.json.JSONArray array = net.sf.json.JSONArray.fromObject(stu); 264 265 但alibaba的fastjson报错: 266 267 //JSONArray array = (JSONArray) JSONArray.toJSON(stu);//报错 268 269 18.JsonObject转java对象 270 271 Student stu=(Student)JSONObject.toBean(jsonObject, Student.class); 272 273 19.jsonArray转java对象 274 275 jsonArray先循环取出jsonObject,再转成java对象
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/163880.html