Json-lib解析Json
来源:互联网 发布:盛夏光年知乎 编辑:程序博客网 时间:2024/05/21 01:30
这是最原始的解析方法
Json格式有两种 数组形式和对象形式
所谓数组形式:
"['c','d','s','a']";
所谓对象形式:
"{'name':'hr','age':'25'}";
则Json解析也有两种形式 分别对应上面的两种Json形式
JsonArray解析底层为数组形式的json串
这样的数组形式有:数组[],List,Set
JsonObject解析底层为对象的Json串
这样的对象形式有:Map,引用类型对象
常用的方法有:
—————————–对象转json串
JSONArray.fromObject(*) 返回值为JsonArray //将数组、List、Set转换为json串
JsonObject.fromObject(*)返回值为JsonObject //将对象转换为json串
—————————-字符串转对象
User u = (User) JSONObject.toBean(jsonObject,User.class);//将字符串转换成User对象
JSONArray.toArray(jsonArray,String.class); //将对象转换为(String)数组
List list = (List) JSONArray.toCollection(jsonArray)
//将字符串转换成List
Map map = (Map)JSONObject.toBean(jsonObject,Map.class);//将json串转换成Map
练习所用的Demo
User对象 有Sring类型的name age 成员变量
/** * 数组转换成json */ @Test public void demo1(){ String[] array = {"张三","李四","王五"}; System.out.println(Arrays.toString(array)); JSONArray jsonArray = JSONArray.fromObject(array); System.out.println(jsonArray); } /** * List转换成json */ @Test public void demo2(){ List<String> list = new ArrayList<String>(); list.add("aaa");list.add("bbb");list.add("ccc"); JSONArray jsonArray = JSONArray.fromObject(list); System.out.println(jsonArray); } /** * Set转换成json */ @Test public void demo3(){ Set<String> set = new HashSet<String>(); set.add("aaa");set.add("aaa");set.add("bbb");set.add("ccc"); JSONArray jsonArray = JSONArray.fromObject(set); System.out.println(jsonArray); } /** * Map转换成json */ @Test public void demo4(){ Map<String,String> map = new HashMap<String, String>(); map.put("name","herui");map.put("age","18"); JSONObject jsonObject = JSONObject.fromObject(map); System.out.println(jsonObject); } /** * 对象转换成json */ @Test public void demo5(){// User u = new User("herui","18");// JSONObject jsonObject = JSONObject.fromObject(u);// System.out.println(jsonObject); } /** * ------------------------------------------------------------------------------------- */ /** * json转换成对象 */ @Test public void demo6(){ String json = "{'name':'herui','age':'78'}"; JSONObject jsonObject = JSONObject.fromObject(json); User u = (User) JSONObject.toBean(jsonObject,User.class); System.out.println(u); } /** * json转换成数组 */ @Test public void demo7(){ String json ="['a','v','d']"; JSONArray jsonArray = JSONArray.fromObject(json); String[] s = (String[]) JSONArray.toArray(jsonArray,String.class); String json2 = "[1,2,3,4]"; JSONArray jsonArray2 = JSONArray.fromObject(json2); Integer[] i = (Integer[]) JSONArray.toArray(jsonArray2,Integer.class); System.out.println(Arrays.toString(i));// System.out.println(Arrays.toString(s)); } /** * json转换成List */ @Test public void demo8(){ String json ="['a','v','d']"; JSONArray jsonArray = JSONArray.fromObject(json);// List<String> list = (List<String>) JSONArray.fromObject(json); List<String > list = (List<String>) JSONArray.toCollection(jsonArray); System.out.println(list); } /** * json转换成map */ @Test public void demo10(){ String json = "{'name':'herui','age':'78'}"; JSONObject jsonObject = JSONObject.fromObject(json); Map<String,String> map = (Map<String,String>)JSONObject.toBean(jsonObject,Map.class); System.out.println(map); }
方法不太好用 ,不够灵活。
阅读全文
0 0
- Json-lib解析Json
- JSON之json-lib解析
- JSON解析之Json-lib
- Java解析Json(org.json,json-lib)
- Java:JSON解析工具-json-lib
- java利用json-lib解析json字符串
- JSON解析工具-json-lib 解读
- 使用json-lib解析json数据
- json数据解析-json-lib-1.1
- Java解析json(一):json-lib
- org.json和json-lib解析json数据
- Java中使用org.json和json-lib解析JSON
- Json-lib
- Json-lib
- json-lib
- JSON lib
- JSON-lib
- JSON lib
- 基于A-Frame 框架实现的移动端VR视频播放(可感知手机重力感应)
- boot中jar包部署的方式读取classes下的文件
- ffmpeg将视频文件发布为RTSP流推送的命令
- 永硕E盘
- php不是空格的空白字符,trim去不掉,匹配也去不掉,怎么办
- Json-lib解析Json
- 【HDU
- 2017杭电多校第三场 1003 Kanade's sum(hdu6058 区间内第k大)
- I
- docker 保存对容器的修改
- POJ2369 Permutations 置换群循环节
- ie8下的兼容问题
- HihoCoder
- ubuntu 更新源