目录
项目
在maven 项目下,需要导入Gson坐标
pom.xml
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.8</version>
</dependency>
city.json
{
"hotCitySites": [
{
"name": "全国",
"code": 100010000,
"url": "/?city=100010000"
},
{
"name": "北京",
"code": 101010100,
"url": "/beijing/"
},
{
"name": "上海",
"code": 101020100,
"url": "/shanghai/"
},
{
"name": "广州",
"code": 101280100,
"url": "/guangzhou/"
},
{
"name": "深圳",
"code": 101280600,
"url": "/shenzhen/"
},
{
"name": "杭州",
"code": 101210100,
"url": "/hangzhou/"
},
{
"name": "天津",
"code": 101030100,
"url": "/tianjin/"
},
{
"name": "西安",
"code": 101110100,
"url": "/xian/"
},
{
"name": "苏州",
"code": 101190400,
"url": "/suzhou/"
},
{
"name": "武汉",
"code": 101200100,
"url": "/wuhan/"
},
{
"name": "厦门",
"code": 101230200,
"url": "/xiamen/"
},
{
"name": "长沙",
"code": 101250100,
"url": "/changsha/"
},
{
"name": "成都",
"code": 101270100,
"url": "/chengdu/"
},
{
"name": "郑州",
"code": 101180100,
"url": "/zhengzhou/"
},
{
"name": "重庆",
"code": 101040100,
"url": "/chongqing/"
},
{
"name": "佛山",
"code": 101280800,
"url": "/foshan/"
},
{
"name": "合肥",
"code": 101220100,
"url": "/hefei/"
},
{
"name": "济南",
"code": 101120100,
"url": "/jinan/"
},
{
"name": "青岛",
"code": 101120200,
"url": "/qingdao/"
},
{
"name": "南京",
"code": 101190100,
"url": "/nanjing/"
},
{
"name": "东莞",
"code": 101281600,
"url": "/dongguan/"
},
{
"name": "昆明",
"code": 101290100,
"url": "/kunming/"
},
{
"name": "南昌",
"code": 101240100,
"url": "/nanchang/"
},
{
"name": "石家庄",
"code": 101090100,
"url": "/shijiazhuang/"
},
{
"name": "宁波",
"code": 101210400,
"url": "/ningbo/"
},
{
"name": "福州",
"code": 101230100,
"url": "/fuzhou/"
}
],
"otherCitySites": [
{
"name": "南通",
"code": 101190500,
"url": "/nantong/"
},
{
"name": "无锡",
"code": 101190200,
"url": "/wuxi/"
},
{
"name": "珠海",
"code": 101280700,
"url": "/zhuhai/"
},
{
"name": "南宁",
"code": 101300100,
"url": "/nanning/"
},
{
"name": "常州",
"code": 101191100,
"url": "/changzhou/"
},
{
"name": "沈阳",
"code": 101070100,
"url": "/shenyang/"
},
{
"name": "大连",
"code": 101070200,
"url": "/dalian/"
},
{
"name": "贵阳",
"code": 101260100,
"url": "/guiyang/"
},
{
"name": "惠州",
"code": 101280300,
"url": "/huizhou/"
},
{
"name": "太原",
"code": 101100100,
"url": "/taiyuan/"
},
{
"name": "中山",
"code": 101281700,
"url": "/zhongshan/"
},
{
"name": "泉州",
"code": 101230500,
"url": "/quanzhou/"
},
{
"name": "温州",
"code": 101210700,
"url": "/wenzhou/"
},
{
"name": "金华",
"code": 101210900,
"url": "/jinhua/"
},
{
"name": "海口",
"code": 101310100,
"url": "/haikou/"
},
{
"name": "长春",
"code": 101060100,
"url": "/changchun/"
},
{
"name": "徐州",
"code": 101190800,
"url": "/xuzhou/"
},
{
"name": "哈尔滨",
"code": 101050100,
"url": "/haerbin/"
},
{
"name": "乌鲁木齐",
"code": 101130100,
"url": "/wulumuqi/"
},
{
"name": "嘉兴",
"code": 101210300,
"url": "/jiaxing/"
},
{
"name": "保定",
"code": 101090200,
"url": "/baoding/"
},
{
"name": "汕头",
"code": 101280500,
"url": "/shantou/"
},
{
"name": "烟台",
"code": 101120500,
"url": "/yantai/"
},
{
"name": "潍坊",
"code": 101120600,
"url": "/weifang/"
},
{
"name": "江门",
"code": 101281100,
"url": "/jiangmen/"
}
]
}
读取hotCitySites所有的city对象,所以还需要建一个实体类
city.java
package com.test;
/**
* @Description
* @Author XueZhimin
* @CreateTime 2023-04-18 20:52
*/
public class City {
private String name;
private String code;
private String url;
public City() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
@Override
public String toString() {
return "City{" +
"name='" + name + '\'' +
", code='" + code + '\'' +
", url='" + url + '\'' +
'}';
}
}
读取并解析Json
ReadJson.java
package com.test;
import com.dap.CityDao;
import com.dap.CityDaoImpl;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.stream.JsonReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
/**
* @Description
* @Author XueZhimin
* @CreateTime 2023-04-18 20:48
*/
public class ReadJson {
public static void main(String[] args) throws Exception {
Gson gson = new Gson();
InputStream inputStream = ReadJson.class.getClassLoader().getResourceAsStream("city.json");
InputStreamReader reader = new InputStreamReader(inputStream);
//【★】通过反射转化 jsonObject对象:
JsonObject jsonObject = gson.fromJson(reader, JsonObject.class);
System.out.println(jsonObject);
//获取jsonObject
JsonElement hotCitySites = jsonObject.get("hotCitySites");
City[] cities = gson.fromJson(hotCitySites, City[].class);
for (int i = 0; i < cities.length; i++) {
System.out.println(cities[i]);
}
reader.close();
inputStream.close();
}
}
控制台输出
E:\Programming\Enviroment\Java\JDK_1.8\bin\java.exe "-javaagent:D:\IntelliJ IDEA 2021.3.3\lib\idea_rt.jar=52444:D:\IntelliJ IDEA 2021.3.3\bin" -Dfile.encoding=UTF-8 -classpath E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\charsets.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\deploy.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\access-bridge-64.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\cldrdata.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\dnsns.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\jaccess.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\jfxrt.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\localedata.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\nashorn.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\sunec.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\sunjce_provider.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\sunmscapi.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\sunpkcs11.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\ext\zipfs.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\javaws.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\jce.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\jfr.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\jfxswt.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\jsse.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\management-agent.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\plugin.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\resources.jar;E:\Programming\Enviroment\Java\JDK_1.8\jre\lib\rt.jar;E:\IDEALab\maven-prent\maven-lab\target\classes;E:\Programming\Maven\maven_local_repository\com\google\code\gson\gson\2.8.8\gson-2.8.8.jar;E:\Programming\Maven\maven_local_repository\mysql\mysql-connector-java\8.0.21\mysql-connector-java-8.0.21.jar;E:\Programming\Maven\maven_local_repository\com\google\protobuf\protobuf-java\3.11.4\protobuf-java-3.11.4.jar;E:\Programming\Maven\maven_local_repository\com\alibaba\druid\1.2.3\druid-1.2.3.jar;E:\Programming\Maven\maven_local_repository\commons-dbutils\commons-dbutils\1.7\commons-dbutils-1.7.jar com.test.ReadJson
{"hotCitySites":[{"name":"全国","code":100010000,"url":"/?city=100010000"},{"name":"北京","code":101010100,"url":"/beijing/"},{"name":"上海","code":101020100,"url":"/shanghai/"},{"name":"广州","code":101280100,"url":"/guangzhou/"},{"name":"深圳","code":101280600,"url":"/shenzhen/"},{"name":"杭州","code":101210100,"url":"/hangzhou/"},{"name":"天津","code":101030100,"url":"/tianjin/"},{"name":"西安","code":101110100,"url":"/xian/"},{"name":"苏州","code":101190400,"url":"/suzhou/"},{"name":"武汉","code":101200100,"url":"/wuhan/"},{"name":"厦门","code":101230200,"url":"/xiamen/"},{"name":"长沙","code":101250100,"url":"/changsha/"},{"name":"成都","code":101270100,"url":"/chengdu/"},{"name":"郑州","code":101180100,"url":"/zhengzhou/"},{"name":"重庆","code":101040100,"url":"/chongqing/"},{"name":"佛山","code":101280800,"url":"/foshan/"},{"name":"合肥","code":101220100,"url":"/hefei/"},{"name":"济南","code":101120100,"url":"/jinan/"},{"name":"青岛","code":101120200,"url":"/qingdao/"},{"name":"南京","code":101190100,"url":"/nanjing/"},{"name":"东莞","code":101281600,"url":"/dongguan/"},{"name":"昆明","code":101290100,"url":"/kunming/"},{"name":"南昌","code":101240100,"url":"/nanchang/"},{"name":"石家庄","code":101090100,"url":"/shijiazhuang/"},{"name":"宁波","code":101210400,"url":"/ningbo/"},{"name":"福州","code":101230100,"url":"/fuzhou/"}],"otherCitySites":[{"name":"南通","code":101190500,"url":"/nantong/"},{"name":"无锡","code":101190200,"url":"/wuxi/"},{"name":"珠海","code":101280700,"url":"/zhuhai/"},{"name":"南宁","code":101300100,"url":"/nanning/"},{"name":"常州","code":101191100,"url":"/changzhou/"},{"name":"沈阳","code":101070100,"url":"/shenyang/"},{"name":"大连","code":101070200,"url":"/dalian/"},{"name":"贵阳","code":101260100,"url":"/guiyang/"},{"name":"惠州","code":101280300,"url":"/huizhou/"},{"name":"太原","code":101100100,"url":"/taiyuan/"},{"name":"中山","code":101281700,"url":"/zhongshan/"},{"name":"泉州","code":101230500,"url":"/quanzhou/"},{"name":"温州","code":101210700,"url":"/wenzhou/"},{"name":"金华","code":101210900,"url":"/jinhua/"},{"name":"海口","code":101310100,"url":"/haikou/"},{"name":"长春","code":101060100,"url":"/changchun/"},{"name":"徐州","code":101190800,"url":"/xuzhou/"},{"name":"哈尔滨","code":101050100,"url":"/haerbin/"},{"name":"乌鲁木齐","code":101130100,"url":"/wulumuqi/"},{"name":"嘉兴","code":101210300,"url":"/jiaxing/"},{"name":"保定","code":101090200,"url":"/baoding/"},{"name":"汕头","code":101280500,"url":"/shantou/"},{"name":"烟台","code":101120500,"url":"/yantai/"},{"name":"潍坊","code":101120600,"url":"/weifang/"},{"name":"江门","code":101281100,"url":"/jiangmen/"}]}
City{name='全国', code='100010000', url='/?city=100010000'}
City{name='北京', code='101010100', url='/beijing/'}
City{name='上海', code='101020100', url='/shanghai/'}
City{name='广州', code='101280100', url='/guangzhou/'}
City{name='深圳', code='101280600', url='/shenzhen/'}
City{name='杭州', code='101210100', url='/hangzhou/'}
City{name='天津', code='101030100', url='/tianjin/'}
City{name='西安', code='101110100', url='/xian/'}
City{name='苏州', code='101190400', url='/suzhou/'}
City{name='武汉', code='101200100', url='/wuhan/'}
City{name='厦门', code='101230200', url='/xiamen/'}
City{name='长沙', code='101250100', url='/changsha/'}
City{name='成都', code='101270100', url='/chengdu/'}
City{name='郑州', code='101180100', url='/zhengzhou/'}
City{name='重庆', code='101040100', url='/chongqing/'}
City{name='佛山', code='101280800', url='/foshan/'}
City{name='合肥', code='101220100', url='/hefei/'}
City{name='济南', code='101120100', url='/jinan/'}
City{name='青岛', code='101120200', url='/qingdao/'}
City{name='南京', code='101190100', url='/nanjing/'}
City{name='东莞', code='101281600', url='/dongguan/'}
City{name='昆明', code='101290100', url='/kunming/'}
City{name='南昌', code='101240100', url='/nanchang/'}
City{name='石家庄', code='101090100', url='/shijiazhuang/'}
City{name='宁波', code='101210400', url='/ningbo/'}
City{name='福州', code='101230100', url='/fuzhou/'}
Process finished with exit code 0