取得远端相应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 @   逆火狂飙  阅读(259)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2017-09-29 【Canvas与化学】铀元素图标
2017-09-29 Sql中存在斜杠“/”怎么办?
2017-09-29 JSONObject和JSONArray(json-lib-2.4)的基本用法
2017-09-29 如何设定linux系统时间
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示