查看: 121|回复: 0

将json格式的字符串转换为java中的json对象并获取键值对值

[复制链接]

431

主题

431

帖子

999万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9994943
发表于 2019-4-12 11:36:44 | 显示全部楼层 |阅读模式
最近做项目经常碰到json格式的字符串,为了便于取值,所以就想将json格式的字符串转换为json对象,然后通过json对象的方法获取键值对的value值。

一:使用json对象的话,需要在项目中导入以下jar包:
commons-beanutils.jar
commons-collections-3.2.1.jar
commons-lang-2.6.jar
commons-logging-1.2.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
xom-1.1.jar

/* 8          * 将json格式的字符串转换成json对象,然后根据json对象的方法获取键值对值
9          * json格式的字符串{"name":"why","age":28,"class":["math","english","history"]}
10          * 分别获取name、age、classes对应的value值
11          * */
12         String jsonStr = "{\"name\":\"why\",\"age\":28,\"classes\":[\"math\",\"english\",\"history\"]}";
13         System.out.println("jsonStr=="+jsonStr);
14         
15         JSONObject jsonObj = JSONObject.fromObject(jsonStr);
16         System.out.println("jsonObj=="+jsonObj);
17         
18         String nameStr = jsonObj.getString("name");
19         int age = jsonObj.getInt("age");
20         String ageStr = jsonObj.getString("age");
21         JSONArray classesObj = jsonObj.getJSONArray("classes");
22         
23         System.out.println("nameStr=="+nameStr);
24         System.out.println("age=="+age);
25         System.out.println("ageStr=="+ageStr);
26         System.out.println("classesObj=="+classesObj);
27         
28         for (int i = 0; i < classesObj.size(); i++) {
29             System.out.println("element " + i + " :" + classesObj.get(i));
30         }

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|霸气资源网

GMT+8, 2019-6-25 11:36 , Processed in 0.320981 second(s), 38 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.