服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java读取json数据并存入数据库的操作代码

Java读取json数据并存入数据库的操作代码

2021-12-01 13:37@(木) Java教程

很多朋友问大佬们JAVA怎么把json存入数据库啊,这一问题就把我难倒了,纠结如何操作呢,下面小编把我的经验分享给大家,感兴趣的朋友一起看看吧

Java读取json数据并存入数据库

1. pom依赖

?
1
2
3
4
5
<dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.47</version>
 </dependency>

2.students.json文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
  "students": [
    {
      "stuId": 1,
      "stuName": "meilanfang",
      "stuAge": 93
    },
    {
      "stuId": 2,
      "stuName": "zhangguorong",
      "stuAge": 92
    },
    {
      "stuId": 3,
      "stuName": "huangjiaju",
      "stuAge": 91
    }
  ]
}

3.读取json文件方式一

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//读取json文件
    public static String readJsonFile(String fileName) {
        String jsonStr = "";
        try {
            File jsonFile = new File(fileName);
            FileReader fileReader = new FileReader(jsonFile);
            Reader reader = new InputStreamReader(new FileInputStream(jsonFile),"utf-8");
            int ch = 0;
            StringBuffer sb = new StringBuffer();
            while ((ch = reader.read()) != -1) {
                sb.append((char) ch);
            }
            fileReader.close();
            reader.close();
            jsonStr = sb.toString();
            return jsonStr;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }
 
 
    public static void main(String[] args) {
        String path = JsonTest.class.getClassLoader().getResource("students.json").getPath();
        String s = readJsonFile(path);
        JSONObject jobj = JSON.parseObject(s);
        JSONArray student = jobj.getJSONArray("students");//构建JSONArray数组
        for (int i = 0 ; i < student.size();i++){
            JSONObject key = (JSONObject)student.get(i);
            int stuId= (Integer)key.get("stuId");
            String stuName= (String)key.get("stuName");
            int stuAge= (Integer)key.get("stuAge");
            #TODO 数据库操作
            System.out.println(stuId);
            System.out.println(stuName);
            System.out.println(stuAge);
        }
    }

4.java 通过url下载图片保存到本地

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//java 通过url下载图片保存到本地
   public static void download(String urlString, int i) throws Exception {
       // 构造URL
       URL url = new URL(urlString);
       // 打开连接
       URLConnection con = url.openConnection();
       // 输入流
       InputStream is = con.getInputStream();
       // 1K的数据缓冲
       byte[] bs = new byte[1024];
       // 读取到的数据长度
       int len;
       // 输出的文件流
       String filename = "D:\\图片下载/" + i + ".jpg"//下载路径及下载图片名称
       File file = new File(filename);
       FileOutputStream os = new FileOutputStream(file, true);
       // 开始读取
       while ((len = is.read(bs)) != -1) {
           os.write(bs, 0, len);
       }
       System.out.println(i);
       // 完毕,关闭所有链接
       os.close();
       is.close();
   }

5.获取聚合数据车辆服务

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
@Test
    public void doGetTestOne() {
        // 获得Http客户端(可以理解为:你得先有一个浏览器;注意:实际上HttpClient与浏览器是不一样的)
        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
        // 创建Get请求
        CloseableHttpResponse response = null;
 
        try {
            // 响应模型
 
            for(int f=200;f<=300;f++){
                HttpGet httpGet = new HttpGet("http://apis.juhe.cn/cxdq/series?brandid=" + f + "&levelid=&key=XXXXXXXXXXXX");
            // 由客户端执行(发送)Get请求
            response = httpClient.execute(httpGet);
            // 从响应模型中获取响应实体
            HttpEntity responseEntity = response.getEntity();
            System.out.println("响应状态为:" + response.getStatusLine());
            if (responseEntity != null) {
                System.out.println("响应内容长度为:" + responseEntity.getContentLength());
//                System.out.println("响应内容为:" + EntityUtils.toString(responseEntity));
                JSONObject object = JSONObject.parseObject(EntityUtils.toString(responseEntity));
                JSONArray arr = object.getJSONArray("result");
                for (int i = 0; i < arr.size(); i++) {
                    JSONObject j = arr.getJSONObject(i);
                    CarBrandDetail vo = new CarBrandDetail();
                    vo.setId(j.getInteger("id"));
                    vo.setName(j.getString("name"));
                    vo.setBrandId(j.getInteger("brandid"));
                    vo.setLevelId(j.getInteger("levelid"));
                    vo.setLevelName(j.getString("levelname"));
                    vo.setSname(j.getString("sname"));
                    vo.setCreateTime(new Date());
                    int insert = carBrandMapper.insert(vo);
                    if (insert > 0) {
                        System.out.println("true");
                    }
                }
            }
        } }catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                // 释放资源
                if (httpClient != null) {
                    httpClient.close();
                }
                if (response != null) {
                    response.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
 
    }

ps:java读取json文件把数据存入数据库中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//读取json文件
    public static String readJsonFile(String fileName) {
        String jsonStr = "";
        try {
            File jsonFile = new File(fileName);
            FileReader fileReader = new FileReader(jsonFile);
            Reader reader = new InputStreamReader(new FileInputStream(jsonFile), "utf-8");
            int ch = 0;
            StringBuffer sb = new StringBuffer();
            while ((ch = reader.read()) != -1) {
                sb.append((char) ch);
            }
            fileReader.close();
            reader.close();
            jsonStr = sb.toString();
            return jsonStr;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }
 public Result<?> test() {
        String s = readJsonFile("D:\\marks.json");
        JSONObject jobj = JSON.parseObject(s);
        JSONArray jsonArray = jobj.getJSONObject("data").getJSONObject("map_set").getJSONObject("map_code_set")
                .getJSONObject("mapSet").getJSONArray("markers");//构建JSONArray数组
//        JSONArray movies = jobj.getJSONObject("data").getJSONObject("map_set").
// getJSONObject("map_code_set").getJSONObject("mapSet").getJSONArray("polyline");//构建JSONArray数组
 
        for (int i = 0; i < jsonArray.size(); i++) {
            LongMarchStation longMarchStation = new LongMarchStation();
            JSONObject key = (JSONObject) jsonArray.get(i);
            JSONObject jsonObject = ((JSONObject) jsonArray.get(i)).getJSONObject("callout");
            String id = key.get("id") + "";
            String latitude = key.get("latitude") + "";
            String longitude = key.get("longitude") + "";
            Integer min = (Integer) key.get("min");
            Integer max = (Integer) key.get("max");
            String iconPath = (String) key.get("iconPath");
            String name = (String) jsonObject.get("content");
            longMarchStation.setId(id);
            longMarchStation.setLatitude(latitude);
            longMarchStation.setLongitude(longitude);
            longMarchStation.setMax(max);
            longMarchStation.setMin(min);
            longMarchStation.setName(name);
            longMarchStation.setIconPath(iconPath);
            longMarchStationService.save(longMarchStation);
        }
 
        return Result.ok("添加成功!");
    }

到此这篇关于Java读取json数据并存入数据库的文章就介绍到这了,更多相关JAVA son存入数据库内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/hsadfdsahfdsgfds/article/details/112704702

延伸 · 阅读

精彩推荐
  • Java教程小米推送Java代码

    小米推送Java代码

    今天小编就为大家分享一篇关于小米推送Java代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    富贵稳中求8032021-07-12
  • Java教程升级IDEA后Lombok不能使用的解决方法

    升级IDEA后Lombok不能使用的解决方法

    最近看到提示IDEA提示升级,寻思已经有好久没有升过级了。升级完毕重启之后,突然发现好多错误,本文就来介绍一下如何解决,感兴趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter写文件写不进去或缺失数据的解决

    Java BufferWriter写文件写不进去或缺失数据的解决

    这篇文章主要介绍了Java BufferWriter写文件写不进去或缺失数据的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一个注意事项

    Java8中Stream使用的一个注意事项

    最近在工作中发现了对于集合操作转换的神器,java8新特性 stream,但在使用中遇到了一个非常重要的注意点,所以这篇文章主要给大家介绍了关于Java8中S...

    阿杜7482021-02-04
  • Java教程Java实现抢红包功能

    Java实现抢红包功能

    这篇文章主要为大家详细介绍了Java实现抢红包功能,采用多线程模拟多人同时抢红包,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml与Java对象的转换详解

    xml与Java对象的转换详解

    这篇文章主要介绍了xml与Java对象的转换详解的相关资料,需要的朋友可以参考下...

    Java教程网2942020-09-17
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    这篇文章主要介绍了Java使用SAX解析xml的示例,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程20个非常实用的Java程序代码片段

    20个非常实用的Java程序代码片段

    这篇文章主要为大家分享了20个非常实用的Java程序片段,对java开发项目有所帮助,感兴趣的小伙伴们可以参考一下 ...

    lijiao5352020-04-06