Json在java里表现的是String类型
String str="{“姓名”:“张三”,“成绩单”:{“语文”:80,“数学”:90,“英语”:100,}}";
这个json是json嵌套了一个成绩单json
获取成绩单json里的value思路是这样的
- 获取到成绩单String
- 将成绩单String转换为JSONObject对象
- 使用JSONObject对象获取value
想使用这个JSONObject对象需要导入一下依赖
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
//将json字符串转为 JSONObject对象
JSONObject jsonObject = JSONObject.fromObject(str);
//获取到成绩单string
String chengjidan = jsonObject.getString("成绩单");
//将成绩单的string转为JSONObject对象
JSONObject jsonObject2 = JSONObject.fromObject(chengjidan );
//获得迭代器
Iterator it = jsonObject2.keys();
while (it.hasNext()) {
String key = (String) it.next();
//这里你用String接收,然后可以转成int,没有问题
String value = jsonObject2.getString(key);
题外创建json
你想自建一个json,比如如下:
String str="{“姓名”:“张三”,“成绩单”:{“语文”:80,“数学”:90,“英语”:100,}}";
写代码时必须在双引号前加转义符\
String str="{\"姓名\":\"张三\",\"成绩表\":{\"语文\":80,\"数学\":90,\"英语\":100,}}";