Java中String字符串转具体对象的几种常用方式

 更新时间:2024年03月30日 10:49:47   作者:爱北的琳儿  
String对象可以用来存储任何字符串类型的数据,包括HTML、XML等格式的字符串,下面这篇文章主要给大家介绍了关于JavaString字符串转具体对象的几种常用方式,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

Java对象以User.class为例,注意:代码中使用到了lombok的@Data注解

package com.example.entity;
import lombok.Data;
@Data
public class User {
    // 姓名
    private String name;
    // 年龄
    private int age;
}

1.Jsonlib解析器

依赖

		<!--json-lib-->
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>

字符串转对象-代码展示

package com.example.demo;

import com.example.entity.User;
import net.sf.json.JSONObject;

public class TestA {

    public static void main(String[] args) throws Exception {
        String objectStr = "{\"name\":\"张三\",\"age\":\"18\"}";
        //1、使用JSONObject
        JSONObject jsonObject = JSONObject.fromObject(objectStr);
        User user = (User) JSONObject.toBean(jsonObject, User.class);
        System.out.println("name:" + user.getName());
        System.out.println("age:" + user.getAge());
    }
}

打印截图示例

延伸(对象转String)代码展示

package com.example.demo;

import com.example.entity.User;
import net.sf.json.JSONObject;

public class TestA {

    public static void main(String[] args) throws Exception {
        User user = new User();
        user.setName("张三");
        user.setAge(18);

        // 1.对象转JSONObject
        JSONObject json = JSONObject.fromObject(user);
        // 2.JSONObject转String
        String strJson = json.toString();
        System.out.println(strJson);
    }

}

延伸(对象转String)运行截图

2.fastjson解析器

依赖

		<!-- fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.75</version>
        </dependency>

字符串转对象-代码展示

package com.example.demo;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.example.entity.User;

public class TestA {

    public static void main(String[] args) throws Exception {
        String objectStr = "{\"name\":\"张三\",\"age\":\"18\"}";
        JSONObject jsonObject = JSON.parseObject(objectStr);
        User user = JSON.toJavaObject(jsonObject, User.class);
        System.out.println("name:" + user.getName());
        System.out.println("age:" + user.getAge());

    }

}

打印截图示例

延伸(对象转String)代码展示

package com.example.demo;

import com.alibaba.fastjson.JSON;
import com.example.entity.User;

public class TestA {

    public static void main(String[] args) throws Exception {
        User user = new User();
        user.setName("张三");
        user.setAge(18);

        String str = JSON.toJSONString(user);
        System.out.println(str);
    }
}

延伸(对象转String)运行截图

3.jackson解析器

依赖

		<!-- jackson -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.7.1</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
            <version>2.7.1</version>
        </dependency>

字符串转对象-代码展示

package com.example.demo;

import com.example.entity.User;
import com.fasterxml.jackson.databind.ObjectMapper;

public class TestA {

    public static void main(String[] args) throws Exception {
        String objectStr = "{\"name\":\"张三\",\"age\":\"18\"}";
        ObjectMapper om = new ObjectMapper();
        User user = om.readValue(objectStr, User.class);
        System.out.println("name:" + user.getName());
        System.out.println("age:" + user.getAge());
    }
}

打印截图示例

延伸(对象转String)代码展示

package com.example.demo;

import com.example.entity.User;
import com.fasterxml.jackson.databind.ObjectMapper;

public class TestA {

    public static void main(String[] args) throws Exception {
        User user = new User();
        user.setName("张三");
        user.setAge(18);

        ObjectMapper om = new ObjectMapper();
        String str = om.writeValueAsString(user);
        System.out.println(str);
    }
}

延伸(对象转String)运行截图

4.Gson解析器

依赖

<!-- 谷歌依赖 -->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.6</version>
        </dependency>

字符串转对象-代码展示

package com.example.demo;

import com.example.entity.User;
import com.google.gson.Gson;

public class TestA {

    public static void main(String[] args) throws Exception {
        String objectStr = "{\"name\":\"张三\",\"age\":\"18\"}";
        Gson gson = new Gson();
        User user = gson.fromJson(objectStr, User.class);
        System.out.println("name:" + user.getName());
        System.out.println("age:" + user.getAge());
    }
}

打印截图示例

延伸(对象转String)代码展示

package com.example.demo;

import com.example.entity.User;
import com.google.gson.Gson;

public class TestA {

    public static void main(String[] args) throws Exception {
        User user = new User();
        user.setName("张三");
        user.setAge(18);
        Gson gson = new Gson();

        String str = gson.toJson(user);
        System.out.println(str);
    }
}

延伸(对象转String)运行截图

以上就是常用的几种String转具体的java对象操作

总结

到此这篇关于Java中String字符串转具体对象的几种常用方式的文章就介绍到这了,更多相关Java String字符串转具体对象内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • Java中@RestController注解使用

    Java中@RestController注解使用

    在Spring框架中,@RestController注解是一个非常重要的注解,它用于将一个类标记为RESTful风格的控制器,本文就来介绍一下Java中@RestController注解使用,感兴趣的可以了解一下
    2023-11-11
  • OpenFeign设置header的三种方式总结

    OpenFeign设置header的三种方式总结

    在微服务间使用Feign进行远程调用时需要在header中添加信息,下面这篇文章主要给大家介绍了关于OpenFeign设置header的三种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • 关于Java锁性能提高(锁升级)机制的总结

    关于Java锁性能提高(锁升级)机制的总结

    这篇文章主要介绍了关于Java锁性能提高(锁升级)机制的总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • JavaSE学习之内部类及常用API

    JavaSE学习之内部类及常用API

    这篇文章主要介绍了JavaSE中的内部类和几个常用的API,文中的示例代码介绍详细,对我们学习JavaSEI有一定的帮助,感兴趣的小伙伴可以跟随小编一起学习一下
    2021-12-12
  • SpringBoot中的yaml语法及静态资源访问问题

    SpringBoot中的yaml语法及静态资源访问问题

    这篇文章主要介绍了SpringBoot中的yaml语法及静态资源访问问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • java使用IO流对数组排序实例讲解

    java使用IO流对数组排序实例讲解

    在本篇文章里小编给大家整理的是一篇关于java使用IO流对数组排序实例讲解内容,有兴趣的朋友们可以学习下。
    2021-02-02
  • java jvm两种存储区的类型知识点讲解

    java jvm两种存储区的类型知识点讲解

    在本篇文章里小编给大家整理的是一篇关于java jvm两种存储区的类型知识点讲解内容,有兴趣的朋友们可以学习下。
    2021-03-03
  • java避免多层嵌套循环用到的一些小技巧分享

    java避免多层嵌套循环用到的一些小技巧分享

    这篇文章主要介绍了java避免多层嵌套循环用到的一些小技巧分享,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • java解析{{}}变量名以及文本内容替换操作

    java解析{{}}变量名以及文本内容替换操作

    这篇文章主要介绍了java解析{{}}变量名以及文本内容替换操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Java和c语言随机数Random代码详细

    Java和c语言随机数Random代码详细

    这篇文章主要介绍Java和c语言得随机数Random,随机数的用处在生活中比较少见,但是用处并不少,比如一些小游戏的制作等等。下面我们就一起来学习这篇关于Java和c随机数Random得文章吧
    2021-10-10

最新评论

?


http://www.vxiaotou.com