• 取得远端相应Json并转化为Java对象一


     JDK:1.8.0_212

    IDE:STS4(Spring Tool Suit4 Version: 4.3.2.RELEASE)

    工程下载:https://files.cnblogs.com/files/xiandedanteng/testEmp20190929.rar

    用SpringBoot做了一堆Restful Service,这回启动一个Maven工程取得结果看看。

    还是用STS4新建一个Maven工程,修改pom.xml如下:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com</groupId>
      <artifactId>testEmp</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>testEmp</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
        
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-web</artifactId>
          <version>5.0.4.RELEASE</version>
          <scope>compile</scope>
        </dependency>
    
          <dependency> 
              <groupId>net.sf.json-lib</groupId>
              <artifactId>json-lib</artifactId>
              <version>2.4</version>
              <classifier>jdk15</classifier>
              </dependency>
              
          </dependencies>
    </project>

    以上红色部分使用RestTemplate的依赖,蓝色部分是解析JSON的依赖。

    下面就可以直接写代码了:

    先把实体类代码准备好:

    package com.testEmp;
    
    public class Emp {
        private Long id;
        private String name;
        
        public String toString() {
            return "Emp id:"+id+" name:"+name;
        }
    
        public Long getId() {
            return id;
        }
    
        public void setId(Long id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }

    然后就是调用网络上的Restful服务,并传Emp对象

    package com.testEmp;
    
    import org.springframework.web.client.RestTemplate;
    
    import net.sf.json.JSONObject;
    
    public class Test {
        public static void main(String[] args) throws Exception{
            // 从远端取得相应
            RestTemplate rt=new RestTemplate();
            String result = rt.getForObject("http://localhost:8080/emp/1",String.class);
            System.out.println(result);
            
            // 将Json字符串转Java对象
            JSONObject jsonObject=JSONObject.fromObject(result);
            Emp stu=(Emp)JSONObject.toBean(jsonObject, Emp.class);
            System.out.println(stu);
        }
    }

    执行后输出如下:

    {"id":1,"name":"孟郊andy"}
    Emp id:1 name:孟郊andy

    从结果看简单对象是转化成了,带有对象嵌套的请看。。 

    --END-- 2019年9月29日11:45:06

  • 相关阅读:
    微软软件下载
    FTP主动连接与被动连接
    Linux下grep显示前后几行信息
    cacti 安装过程中“ERROR: 您的MySQL TimeZone 数据库未被填充. 请在继续之前填入此数据库.”
    Cacti安装详细步骤
    Linux 踢掉其他终端用户
    迁移设备存储报的错误及解决方式
    sql_mode :(STRICT_TRANS_TABLES与STRICT_ALL_TABLES 区别)
    Nginx日志按日期切割详解(按天切割)
    git pull冲突:commit your changes or stash them before you can merge.
  • 原文地址:https://www.cnblogs.com/heyang78/p/11606964.html
Copyright © 2020-2023  润新知