取得远端相应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

posted @ 2019-09-29 11:46  逆火狂飙  阅读(257)  评论(0编辑  收藏  举报
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东